【发布时间】:2010-07-09 15:21:31
【问题描述】:
我无法解析这段 JSON
{
"00408C88A2E6": {
"id": "00408C88A2E6",
"name": "pippo"},
"00408C91188B": {
"id": "00408C91188B",
"name": "pluto"
},
"00408C944B99": {
"id": "00408C944B99",
"name": "minni"
},
"00408C944BA0": {
"id": "00408C944BA0",
"name": "topolino"
}
我需要获取所有关键的“id”和“name”,我尝试使用迭代器,但我只能检索第一个 dicts (00408C88A2E6,00408C91188B ...),谁能给我任何提示? 谢谢
编辑: 我正在使用 org.json 并以这种方式尝试解析它
JSONObject jsonChannels = getHttpJson(url_user_cam);
ArrayList<String> al = new ArrayList<String>();
Log.i(LOG_TAG, jsonChannels.toString());
try{
Iterator<String> iterator = jsonChannels.keys();
while (iterator.hasNext() ){
al.add(iterator.next());
}
}catch(Exception e){
Log.e(LOG_TAG, e.toString());
}
使用这段代码,我的意图是在制作后获取第一个字典(“00408C88A2E6”),我需要访问“id”和“name”元素,我该怎么做?
【问题讨论】:
-
看起来 JSON 示例不完整(缺少 2 个右大括号)。另外,您是否使用库来解析 JSON? jsonlib?
-
向我们展示您用来解析它的代码。哪个图书馆?
-
你用什么来反序列化 JSON 数据?
-
可以肯定的是:您不是将 Java 与 JavaScript 混淆了吗?如果您使用的是 Java,那么提及您正在使用的 JSON 库会太明显,因为它不是 Java SE 中内置的,而且有很多。但既然你没有提到它......