java - 使用 jackson 或 Gson 解析具有不带字段名称的数组的 json

标签 java jackson gson

我收到以下格式的 json。我如何拥有相应的Java类,以便可以使用Jackson或Gson正确映射它。

"data": [
    { 
        "name": "foobar",
        "timeSeries": [
            [
                1576451246,
                55.0
            ],        
            [
                1576453491,
                82.0
            ]
        ]
    }
]

这是我当前拥有的 Java 类:

public class Data {

    @Key
    public String name;

    @Key
    public TimeSeries[] timeSeries;   // How will this work? What will time series class contain
}

具体来说,我无法弄清楚 TimeSeries 类是什么样子。看来它必须是一个 int/long 和 float/double 的数组。但不知道如何表示以便 jackson 或 gson 可以正确解析

最佳答案

我相信您需要一个包装类 - 例如 Response - 保存您获得的 JSON 数据,请参阅对其的评论,以及它是如何“解密”的:

@Getter @Setter
public class Response {

    // json object named 'data' is an array holding -say- many Data objects 
    // (better name might be 'datas' or so since it has many objects, plural)
    @Getter @Setter
    private Data[] data;

    // Data contains name and and an array of Double arrays
    @Getter @Setter
    public static class Data {
        private String name;
        private Double[][] timeSeries;      
    }   

}

关于java - 使用 jackson 或 Gson 解析具有不带字段名称的数组的 json,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59399453/

相关文章:

java - Jackson:如何用键包装对象,这是序列化对象的属性之一?

android - 如何在 strip 上上传图片?

java - 反序列化自定义对象的序列化 ArrayList,添加对象,然后重新序列化

java - 有没有一种简单的方法来分析 eclipse 中的 java 程序?

java - 验证输入并相应执行操作

java - JSON对象映射器: avoid listing derived class in serialized JSON string

java - @JsonInclude(Include.NON_NULL) 如何在 Spring Boot 中工作

java - TestNG 中的非静态驱动程序和屏幕截图监听器

java - 获取用户输入并将其分配给对象

java - 使用 GSON 从 ClassLouder 类反序列化通用类型