java - 使用 Gson 进行 JSON 解析

标签 java json gson

我正在尝试使用 GSON 解析 JSON 对象。

我的 JSON 是:

{ "truncate": [
            {
                "lower": 20,
                "upper": 40,
                "delimiter": " ",
                "scope": ["$title"]
            },
            {
                "lower": 30,
                "upper": 65,
                "delimiter": " "
            }
        ] }

我已经定义了我的 2 个类:

public class TruncateObj {

    private List<TruncateObjectChild> objChild;

    // getter and setter
}

public class TruncateObjectChild {

    private int lower;

    private int upper;

    private String delimiter;

    private List<String> scope;

// getters and setters
}

我的解析语句是

 Gson gson = new Gson();   
 TruncateObj truncation = gson.fromJson(template, TruncateObj.class);

出于某种原因,这不起作用。 Gson 创建一个 TruncatObj child ,但是List<TruncateObjectChild>在 TruncateObj 中为空。

我做的有什么问题吗?

最佳答案

TruncateObj 中的字段 objChild 与其在 JSON 中的名称不匹配。将该字段重命名为 truncate 并重试。

或者,您可以使用 @SerializedName("truncate") 注释 objChild 字段,以告诉 gson 使用 truncate 中的值> JSON 中的字段作为 Java 对象中 objChild 字段的值。

关于java - 使用 Gson 进行 JSON 解析,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8207274/

相关文章:

java - 使用命令提示符为可运行 jar 提供附加调试选项

java - RedDot 与 Lotus Notes 支持

java - 有状态 Rsocket 应用程序

java - GSON - 从 JSON 反序列化期间修剪字符串

java - 切割和堆叠阵列

json - 如何显示自定义验证错误消息

json - Azure Functions 路由与未知 URL 绑定(bind)

javascript - Backbone 从嵌套 json 获取数据

java - Retrofit 2,如何在其他 Activity 中访问收到的ArrayList?

java - 使用 GSON 从 hibernate MySQL select 创建的列表中读取字段名称