java获取树状json里面的某一层,详细代码
时间: 2023-12-14 15:36:17 浏览: 66
一行代码获取JSON多级信息
假设我们有一个树状的JSON数据如下:
```json
{
"name": "A",
"children": [
{
"name": "B",
"children": [
{
"name": "D"
},
{
"name": "E"
}
]
},
{
"name": "C"
}
]
}
```
如果我们想要获取第二层的所有节点,也就是B和C,可以使用以下Java代码:
```java
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
public class JsonTreeDemo {
public static void main(String[] args) {
String jsonStr = "{\"name\":\"A\",\"children\":[{\"name\":\"B\",\"children\":[{\"name\":\"D\"},{\"name\":\"E\"}]},{\"name\":\"C\"}]}";
JSONObject jsonObj = JSONObject.parseObject(jsonStr);
JSONArray children = jsonObj.getJSONArray("children");
for (int i = 0; i < children.size(); i++) {
JSONObject child = children.getJSONObject(i);
System.out.println(child.getString("name"));
}
}
}
```
输出结果为:
```
B
C
```
说明我们成功获取了第二层的所有节点。在代码中,我们首先将JSON字符串解析成了JSONObject对象,然后通过getJSONArray方法获取到了第一层的所有子节点,遍历这些子节点,再通过getJSONObject方法获取到子节点的具体信息。
阅读全文