【问题标题】:The method parseString(String) is undefined for the type JsonParserJsonParser 类型的方法 parseString(String) 未定义
【发布时间】:2020-12-16 01:36:59
【问题描述】:

我的代码之前运行良好,但现在抛出异常,

代码:

    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

任何提示为什么会发生这种情况?一直到昨天都还好好的!

【问题讨论】:

  • 可以添加导入吗?
  • 这些是导入,import com.google.gson.Gson;导入 com.google.gson.GsonBuilder;导入 com.google.gson.JsonElement;导入 com.google.gson.JsonObject;导入 com.google.gson.JsonParser;

标签: java json gson jsonparser


【解决方案1】:

这看起来更像是您将自己的类命名为与Gson JsonParser 类相同的方式。因此编译器将JsonParser 解析为您自己的类(your.package.JsonParser) 而不是Gson JsonParser (com.google.gson.JsonParser)。每次要引用此类时,您可能需要重命名您的类或使用com.google.gson.JsonParser 而不是JsonParser

另一种可能性是您使用的Gson 库可能比version 2.8.6 更旧。如果是这种情况,您必须升级您的 Gson 库。在version 2.8.6 中添加了静态方法JsonParser.parseString。查看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')
)

对于 Leiningen,请使用:

[com.google.code.gson/gson "2.8.6"]

对于 Builder,请使用:

'com.google.code.gson:gson:jar:2.8.6'

【讨论】:

  • JsonBuilderForUserFromDB --> 这是我的类名,所以没有不当的命名约定。
  • 直到昨天都运行良好,我决定制作一个新包并将我的代码移动到新类名下的新包中,即 JsonBuilderForUserFromDB
  • 在这期间有没有将您的课程重命名为 JsonParser?你想尝试一个干净的构建吗?
  • 它不起作用,我使用了一种解决方法,因为它基本上是为了美化 JSON(从单行到正确格式的 JSON)
  • 啊,正因为如此,你必须将你的 Gson 库升级到版本:'2.8.6'。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2023-01-10
  • 1970-01-01
  • 2020-11-17
  • 2015-07-30
  • 1970-01-01
  • 1970-01-01
  • 2015-04-23
相关资源
最近更新 更多