【问题标题】:Parse simple JSON解析简单的 JSON
【发布时间】: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 中内置的,而且有很多。但既然你没有提到它......

标签: java android json


【解决方案1】:

正如 cmets 中所指出的,您的 JSON 似乎不完整。可能是粘贴错误?

您是手动完成还是使用库?

您是否尝试过使用“官方”Java JSON package

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-01-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-08-30
    • 1970-01-01
    • 1970-01-01
    • 2017-09-21
    相关资源
    最近更新 更多