java fastjson 遍历jsonobject 的所有层级的对象包括jsonarray
时间: 2024-09-20 19:09:05 浏览: 53
FastJSON是一个由阿里巴巴开源的高性能Java JSON库,它提供了一种方便的方式来处理JSON数据,包括遍历JSONObject和JSONArray。遍历JSON Object(如JsonObject)的所有层级对象包括JsonArray可以分为两步:
1. **遍历JSONObject**:
- 使用`get()`或`opt()`方法获取JSONObject中的键值对。例如:
```java
JSONObject jsonObject = new JSONObject(jsonString);
for (String key : jsonObject.keySet()) {
Object value = jsonObject.get(key);
if (value instanceof JSONObject) { // 如果值也是JSONObject
// 递归遍历该子JSONObject
traverseJSONObject((JSONObject) value);
} else if (value instanceof JSONArray) { // 如果值是JSONArray
// 递归遍历该子JSONArray
traverseJSONArray((JSONArray) value);
} else {
// 处理基本类型的值
System.out.println("Key: " + key + ", Value: " + value);
}
}
```
2. **遍历JSONArray**:
- 类似地,使用`get()`或`opt()`方法获取JSONArray中的每个元素,并检查其类型。如果是JSONObject,则递归处理;如果是JSONArray,继续递归;否则处理基本类型。
```java
JSONArray jsonArray = jsonObject.getJSONArray("arrayName");
for (int i = 0; i < jsonArray.size(); i++) {
Object item = jsonArray.get(i);
if (item instanceof JSONObject) {
traverseJSONObject((JSONObject) item);
} else if (item instanceof JSONArray) {
traverseJSONArray((JSONArray) item);
} else {
// 处理基本类型的数组元素
System.out.println("Index: " + i + ", Value: " + item);
}
}
```
阅读全文