java如何获取json中每个对象的级别,其中对象可以有任意数量的相同对象类型的子对象
这个结构是在json的帮助下填充和存储的,如下所示
{
"name": "Lao Lao",
"title": "general manager",
"children": [
{
"name": "Bo Miao",
"title": "department manager",
"children": [
{
"name": "Li Jing",
"title": "senior engineer"
},
{
"name": "Li Xin",
"title": "senior engineer",
"children": [
{
"name": "To To",
"title": "engineer"
},
{
"name": "Fei Fei",
"title": "engineer"
},
{
"name": "Xuan Xuan",
"title": "engineer"
}
]
}
]
},
{
"name": "Su Miao",
"title": "department manager",
"children": [
{
"name": "Pang Pang",
"title": "senior engineer"
},
{
"name": "Hei Hei",
"title": "senior engineer",
"children": [
{
"name": "Xiang Xiang",
"title": "UE engineer"
},
{
"name": "Dan Dan",
"title": "engineer"
},
{
"name": "Zai Zai",
"title": "engineer"
}
]
}
]
}
]
}
我想解析这个Json,以获得所有级别和父名称如下的对象
{name = Lao lao , parent = null , level = 1 }
{name = Bao Miao , parent = Lao lao , level = 2 }
..................................................
{name = Li Jing , parent = Bao Miao , level = 3 }
我们如何在java的帮助下解析它?如果有这样的功能库,请告诉我
# 1 楼答案
是的,你能做到。首先,需要将这个json映射到POJO。 所以,创建一个这样的模型类
如果你能把这个json映射到POJO。然后你只需要运行一个循环就可以得到你想要的
# 2 楼答案
看起来我有很多时间,浪费时间为你做这件事,因为它听起来很有挑战性。基本上,我先把它变成一个jsonObject,然后我做一个bfs图形漫游来找到级别,家长告诉你这是一个图形问题,级别上又有一些错误,但我希望社区或你自己修复错误
编辑:我已经为您修复了关卡错误,如果您有任何问题,请再次询问我
输出:
# 3 楼答案
实现模型定义如下。还可以在模型类中放置level和parentName
使用GSON API解析json数据
这是你的完整程序。在花了一个小时的时间之后,我终于能够为您编写所有代码。到目前为止工作还不错:)
输出: