android中树形json解析成对象
[
{
"name": "a",
"size": "4",
"Rate": "4",
"level": "3",
"children": [
{
"name": "aa",
"size": "8",
"Rate": "8",
"level": "4",
"children": [
{
"name": "aaa",
"size": "8",
"Rate": "8",
"level": "5"
}
]
}
]
},
{
"name": "b",
"size": "4",
"Rate": "4",
"level": "3",
"children": [
{
"name": "bb",
"size": "8",
"Rate": "8",
"level": "4",
"children": [
{
"name": "bbb",
"size": "8",
"Rate": "8",
"level": "5"
}
]
}
]
}
]
类似于这种的json数据格式,不确定具体有多少children,
我定义的bean样式
public class bean{
private String name;
private String size;
private String Rate;
private String level;
private List<bean> children;
...
get/set方法
}
利用fastjson解析
String json="json数据";
List<Bean> list=JSON.parseArray(json, Bean.class)
这样list.size()=0
这样的树形json如何解析?
解决方案
确实是比较特殊的一种情况,我相信楼主应该也不是就这三层的结构。
我之前在做组织组织架构的时候也遇到类似的数据,我json的数据是没有转成JavaBean的。使用数据的时候采用的是递归的方式。我用Android studio的gson format插件格式化了楼主的数据,发现gson format 每一层都帮我新建了一个JavaBean(醉了)。
如果想从这个数据里面只是拿到一个总的人员列表,那就得到数据的时候手动递归取出所有数据吧!