gpt4 book ai didi

java - 检索 JSONObject 的字段名称 - Java

转载 作者:行者123 更新时间:2023-12-02 23:01:06 24 4
gpt4 key购买 nike

我必须检索 Java 中 JSONObject 的所有字段名称。例如,这是一个 JSON:

{
"name" : {
"first" : "John",
"last" : "McCarthy"
},
"birth" : ISODate("1927-09-04T04:00:00.000Z"),
"death" : ISODate("2011-12-24T05:00:00.000Z"),
"contribs" : [
"Lisp",
"Artificial Intelligence",
"ALGOL"
]
}

这个 JSON 对象只是一个示例,自从导入它以来我无法知道 JSONObject 包含什么。我没有任何关于使用 Gson/Jackson 反序列化的字段名称的信息。

假设我有一个包含先前 JSON 对象的 JSONObject myDocJson,我使用迭代器:

Iterator<?> keys = myDocJson.keySet().iterator();
while(keys.hasNext()) {
System.out.println(keys.next());
}

结果我得到:

name
birth
death
contribs

但是例如我没有 name.firstname.last。所以这个迭代器不适用于嵌套对象。

最佳答案

您仅打印 key 。

要获取值,请尝试

JSONObject object = null; // your json object
for (Object key : object.keySet()) {
System.out.println(key + "=" + object.get(key)); // to get the value
}

编辑

对于 JSONObject 内部的对象,请尝试

JSONObject object = null; // your json object
for (Object key : object.keySet()) {
System.out.println(key + "=" + object.get(key)); // to get the value
for (Object subKey : ((JSONObject) object.get(key)).keySet()) {
System.out.println(subKey + "=" + object.get(subKey));
}
}

关于java - 检索 JSONObject 的字段名称 - Java,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35527703/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com