java在获取一个JSON数据最底层的时候,也知道它的最顶层是谁,详细代码
时间: 2024-02-15 14:03:16 浏览: 21
以下是获取最底层数据同时也知道最顶层数据的示例代码:
```java
public static void getValue(JSONObject json, String topKey) {
Iterator<String> keys = json.keys();
while (keys.hasNext()) {
String key = keys.next();
Object value = json.get(key);
if (value instanceof JSONObject) {
// 如果是JSONObject,则递归获取值
getValue((JSONObject) value, key);
} else {
// 如果是最底层的值,输出并记录所属的最顶层key
if (key.equals("leaf")) {
System.out.println("最底层的值为:" + value);
System.out.println("所属的最顶层key为:" + topKey);
}
}
}
}
```
调用方法如下:
```java
JSONObject json = new JSONObject("{\"root\":{\"branch1\":{\"leaf\":\"value1\"},\"branch2\":{\"leaf\":\"value2\"}}}");
getValue(json.getJSONObject("root"), "root");
```
输出结果为:
```
最底层的值为:value1
所属的最顶层key为:root
最底层的值为:value2
所属的最顶层key为:root
```
注意:以上代码仅为示例,实际使用时需要根据具体情况进行修改。