考虑到这种结构,在父属性中获取对象数组(属性,类型字段)的正确表示法是什么。
{"parent":
[
{"property":[2,5],"type":2},
{"property":[1,2],"type":1},
{"property":[4,0],"type":0}
],
"prop2":"something"
}
当前的Java看起来像
@JsonInclude(JsonInclude.Include.NON_NULL)
public class Parent{
<WHAT TO PUT HERE??>
List<PropertyTypeObj> propertyTypes;
}
这是类似以下内容的一部分:
@JsonInclude(JsonInclude.Include.NON_NULL)
public class Container{
@JsonProperty("parent")
List<Parent> parent;
@JsonProperty("prop2")
String prop2
}
解决方案是绕过父元素的创建,而是使用 PropertyTypeObject 本身
@JsonInclude(JsonInclude.Include.NON_NULL)
public class Container{
@JsonProperty("parent")
List<PropertyTypeObject> properties;
@JsonProperty("prop2")
String prop2
}
然后将PropertyTypeObject指定为具有@JsonRootName("parent")
为清楚起见,请参阅批准的答案。
答案 0 :(得分:4)
可能的类结构如下:
public class External {
private List<External.Internal> parent;
private String prop2;
@JsonRootName("parent")
public static class Internal {
private List<Integer> property;
private Integer type;
}
}
外部类具有的地方:
以及一个针对每个元素具有的内部类: