Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/apache/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 使用jackson或Gson解析具有无文件名数组的json_Java_Jackson_Gson - Fatal编程技术网

Java 使用jackson或Gson解析具有无文件名数组的json

Java 使用jackson或Gson解析具有无文件名数组的json,java,jackson,gson,Java,Jackson,Gson,我收到以下格式的json。如何使用Jackson或Gson正确映射相应的Java类 "data": [ { "name": "foobar", "timeSeries": [ [ 1576451246, 55.0 ], [ 1576453491,

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

"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;      
    }   

}

是关于杰克逊还是关于格森?这是两个不同的库,解决方案也不相同。下面pirho的解决方案在本例中对这两个库都有效,即Private Double[][]timeSeries;我成功了!谢谢你的及时帮助!