jsonObject获取key
时间: 2023-10-16 15:06:44 浏览: 93
在Java中,可以使用JSONObject的keys()方法获取JSON对象中的所有键。这个方法只能获取JSON对象的一层键值对,无法递归获取内层的键。 如果你想要获取内层的键,可以使用递归方法来实现。可以参考下面的示例代码:
```
import org.json.JSONObject;
public class Main {
public static void main(String[] args) {
String jsonString = "{\"b\":\"2\",\"c\":{\"A\":\"1\",\"B\":\"2\"},\"a\":\"1\"}";
JSONObject jsonObject = new JSONObject(jsonString);
recursiveKeyExtraction(jsonObject);
}
public static void recursiveKeyExtraction(JSONObject jsonObject) {
for (String key : jsonObject.keySet()) {
System.out.println(key);
if (jsonObject.get(key) instanceof JSONObject) {
recursiveKeyExtraction((JSONObject) jsonObject.get(key));
}
}
}
}
```
在上面的代码中,我们首先创建了一个JSON字符串。然后将其转换为JSONObject对象。接下来,我们调用了recursiveKeyExtraction()方法,并将JSONObject对象作为参数传递给该方法。该方法会遍历JSONObject对象的键,并打印每个键。如果发现某个键对应的值是另一个JSONObject对象,则会递归调用自身来提取内层的键。通过这种方式,我们可以获取JSON对象中的所有键。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* *3* [遍历获取JSONObject的所有Key](https://blog.csdn.net/wyty88/article/details/36423111)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 50%"]
- *2* [java的JsonObject对象提取值方法](https://download.csdn.net/download/weixin_38517904/12957988)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 50%"]
[ .reference_list ]
阅读全文