问题描述
我的代码以前运行良好,但是现在抛出了异常,
代码:
Gson gson = new GsonBuilder().setPrettyPrinting().create();
JsonElement jsonElement = JsonParser.parseString(resultJsonString);
以及JsonElement jsonElement = JsonParser.parseString(resultJsonString);
Exception in thread "main" java.lang.Error: Unresolved compilation problem:
The method parseString(String) is undefined for the type JsonParser
有人暗示为什么会这样吗?到昨天为止一切都很好!
解决方法
这看起来更像是您为自己的班级命名的方式与Gson JsonParser
班级的命名方式相同。因此,编译器将JsonParser
解析为您自己的类(your.package.JsonParser
)而不是Gson JsonParser (com.google.gson.JsonParser)
。您可能想重命名您的班级,或者每次想引用该班级时都使用com.google.gson.JsonParser
而不是JsonParser
。
另一种可能性是您使用的Gson
库可能早于version 2.8.6
。在这种情况下,您必须升级Gson
库。在JsonParser.parseString
中添加了静态方法version 2.8.6
。检出change log。
对于 Maven ,请使用:
<dependency>
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
<version>2.8.6</version>
</dependency>
对于 Gradle ,请使用:
compile group: 'com.google.code.gson',name: 'gson',version: '2.8.6'
对于 SBT ,使用:
libraryDependencies += "com.google.code.gson" % "gson" % "2.8.6"
对于常春藤,请使用:
<dependency org="com.google.code.gson" name="gson" rev="2.8.6"/>
对于葡萄,请使用:
@Grapes(
@Grab(group='com.google.code.gson',module='gson',version='2.8.6')
)
对于莱宁根,请使用:
[com.google.code.gson/gson "2.8.6"]
对于 Builder ,请使用:
'com.google.code.gson:gson:jar:2.8.6'