因此,我得到了一个 String,它是我在类上实现的 toJson 方法的结果,并在我的测试代码中确认它是我的类的正确 Json 表示形式。我的目标是使用 Gson 将这个 String 转换为 JsonObject 并将其传递给构造函数。但是,我遇到了一个奇怪的问题。
这是我调用的代码:
Gson gson = new Gson();
JsonObject jObj = gson.fromJson(jsonString, JsonObject.class);
Run Code Online (Sandbox Code Playgroud)
我之前在项目的许多地方以及其他类中使用过这个完全相同的代码片段,并且效果很好。我什至将这些功能代码片段之一复制到这个测试类中并进行了尝试。然而,我尝试的每个版本都会产生相同的结果——jObj 是一组空括号。
我不明白这是怎么发生的。我已经确认 jsonString 具有它应该需要的所有字段。为什么 Gson 返回一个空的 JsonObject?没有抛出任何异常。
好吧,我知道这有点旧了,但我也遇到了同样的问题。解决方案是更改 jar 文件。我在另一个项目中有一个类似的代码示例,但后来我在另一个项目中遇到了完全相同的问题。问题是旧的 gson-2.1.jar。将问题应用程序更新为匹配的 gson-2.3.1.jar 并且一切正常。希望这可以帮助。
| 归档时间: |
|
| 查看次数: |
6422 次 |
| 最近记录: |