我正在尝试使用Jackson反序列化这个JSON,我遇到了阵列部分的问题,你可以看到没有字段名称。 java代码需要什么样才能反序列化呢?
{
"foo":[
[
"11.25",
"0.88"
],
[
"11.49",
"0.78976802"
]
],
"bar":[
[
"10.0",
"0.869"
],
[
"9.544503",
"0.00546545"
],
[
"9.5",
"0.14146579"
]
]
}
谢谢,
BC
答案 0 :(得分:1)
最接近的映射(没有更多上下文)将使foo
和bar
成为双数组(2维数组)的数组。
public class FooBarContainer {
private final double[][] foo;
private final double[][] bar;
@JsonCreator
public FooBarContainer(@JsonProperty("foo") double[][] foo, @JsonProperty("bar") double[][] bar) {
this.bar = bar;
this.foo = foo;
}
}
使用:
public static void main(String[] args) throws IOException {
ObjectMapper mapper = new ObjectMapper();
FooBarContainer fooBarContainer = mapper.readValue(CONTENT, FooBarContainer.class);
//note: bar is visible only if main is in same class
System.out.println(fooBarContainer.bar[2][1]); //0.14146579
}
杰克逊将这些数据反序列化到这个类中没有任何问题。