作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
如何使用 java 对象和 Jackson 递归创建此 json 内容? :
{
"children": [
{
"children": [
{
"name": "cluster",
"children": [
{
"name": "AgglomerativeCluster",
"size": 3938
},
{
"name": "TestCLuster",
"size": 3938
}
]
}
],
"name": "analytics"
}
],
"name": "flare"
}
这是到目前为止我的对象结构,一个名为 DendogramVO 的父类和一个名为 Children 的子类,它也有一个子列表:
import java.util.List;
public class DendogramVO {
private List<Children> children;
private String name;
public List<Children> getChildren() {
return this.children;
}
public void setChildren(List<Children> children) {
this.children = children;
}
public String getName() {
return this.name;
}
public void setName(String name) {
this.name = name;
}
}
import java.util.List;
public class Children {
private List<Children> children;
private String name;
public List<Children> getChildren() {
return children;
}
public void setChildren(List<Children> children) {
this.children = children;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
最佳答案
请注意,您的 JSON 包含未知属性。您需要将 ObjectMapper
配置为在遇到它们时不会失败(或将它们添加到您的类中)
String s="{ \"children\": [ { \"children\": [ { \"name\": \"cluster\", \"children\": [ { \"name\": \"AgglomerativeCluster\", \"size\": 3938 }, { \"name\": \"TestCLuster\", \"size\": 3938 } ] } ], \"name\": \"analytics\" } ], \"name\": \"flare\"}";
ObjectMapper mapper = new ObjectMapper();
mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
Children children = mapper.readValue(s, Children.class);
System.out.println(children.getChildren());
使用简单的 Children#toString()
打印
[[children = [[children = [[children = null, name = AgglomerativeCluster], [children = null, name = TestCLuster]], name = cluster]], name = analytics]]
关于java - 如何从json创建java对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19390355/
我是一名优秀的程序员,十分优秀!