如何fastjson 递归获取字段
时间: 2024-03-21 16:18:19 浏览: 59
可以使用JSONObject和JSONArray的get方法进行递归获取字段,示例代码如下:
```
public static Object recursiveGet(JSONObject json, String key) {
Object value = json.get(key);
if (value != null) {
return value;
}
for (String k : json.keySet()) {
Object v = json.get(k);
if (v instanceof JSONObject) {
value = recursiveGet((JSONObject) v, key);
if (value != null) {
return value;
}
} else if (v instanceof JSONArray) {
JSONArray array = (JSONArray) v;
for (int i = 0; i < array.size(); i++) {
value = recursiveGet(array.getJSONObject(i), key);
if (value != null) {
return value;
}
}
}
}
return null;
}
```
调用方法如下:
```
JSONObject json = JSON.parseObject(jsonStr);
Object value = recursiveGet(json, "fieldName");
```
其中jsonStr是一个包含字段的JSON字符串,"fieldName"是需要递归获取的字段名。
阅读全文