如何解析此对象并获取每个人的姓名(密钥)?
我不能只做String name = jsonObject.getString("name");
,因为名称是键,而不是值。
JSONObject jsonObject =
{
"data" :
[{
"Bob": {
"last-name": "Jorgenson",
"email": "b@b.com",
},
"Steve": {
"last-name": "Bobson",
"email": "steve@juno.com",
},
}],
"statusCode" : 200
}
那么使用动态命名的密钥解析它的最佳方法是什么?
jArray取自现在代表的jsonObject。但是,由于与尝试从jsonObject.get("data")
获取jArray相关的类型错误,我在实现答案时遇到了问题
是的,这是非常基本的东西。动态的一点让我失望。有许多类似的问题,但它们通常涉及许多其他因素。我可以成功下载数据并将其存储在上面的JSONObject jsonObject 中。我只需要弄清楚如何解析上面列出的数据。
答案 0 :(得分:4)
Iterator<String> keys = jsonObject.keys();
while (keys.hasNext()) {
String key = keys.next();
}
答案 1 :(得分:2)
JSONObject的keys()
方法可能是您正在寻找的方法。
答案 2 :(得分:0)
你可以用这个:
for(int i=0;i<jsonArray.length();i++){
JSONObject temp = jsonArray.getJSONObject(i);
String name;
Iterator<String> keys = temp.keys();
if(keys.hasNext())
name = keys.next();
}