使用Jackson反序列化嵌套的值数组

时间:2015-06-25 19:41:22

标签: java json spring jackson

我有一个包含嵌套数组值的json文件:

[
    {"target": "dsdsa", 
     "datapoints": 
        [
            [94.283, 1435080720], 
            [94.233, 1435080780], 
            ....
        ]
     }
]

我在解析内部嵌套数组时遇到问题。我正在使用Spring和Jackson。我首先使用:

解析外部数组
Output[] allJson = restTemplate.getForObject("json/url",Output[].class);

其中Output是POJO:

public class Output
{
    public String target;
    //public Datapoint[] datapoints;
}   

public class Datapoint 
{
    private double[] points;
}

使用这个我可以从json访问“目标”。但如果我取消注释,Jackson无法将数组数组映射到Datapoints。

我需要另一个包装类吗? 我找不到任何例子,除了json对象和杰克逊解析它之外,数组里面还有什么东西。

1 个答案:

答案 0 :(得分:0)

数据点内的

[94.283, 1435080720]不是json对象,但它是一个json列表。您将不得不使用二维数组或列表中的列表来获取数据点。使用

public double[][] datapoints;List<List<Double>> datapoints