【问题标题】:Access weird JSON Format访问奇怪的 JSON 格式
【发布时间】:2015-07-18 17:57:02
【问题描述】:

我正在使用返回以下 JSON 的 API:

我想访问“值”中的数据,但我不知道该怎么做。我不想经常乱来,因为 API 的信用额度有限,而且要花钱。

编辑:示例 JSON:

{
  "method": [
    ["somename"]
  ],
  "answer": [{
    "name": [{
      "domain": "somedomain",
      "date": "somedate",
      "value": "somenumber"
    }]
  }],
  "credits": [{
    "used": 1
  }]
}

EDIT2:老实说,我不明白为什么这被否决了。

【问题讨论】:

  • json.answer[0][0].value
  • jsonData.answer[0][0].value;给我错误:“jsonData.answer 未定义”
  • 什么是 jsonData - 顶级元素?此外,还提供一个示例 json。
  • jsonData 是顶部元素。我在 OP 中添加了一个示例 Json。
  • jsonData.answer[0]['name'][0].value

标签: javascript ajax json api


【解决方案1】:

正确的路径是:

json.answer[0].name[0].value

【讨论】:

    【解决方案2】:

    您将获得价值

    jsonData.answer[0].name[0].value
    

    【讨论】:

    • 很好用。出于某种原因,我首先不得不做 var jsonData = $.parseJson("text");
    • 很高兴听到这个消息。此外,如果必须这样做,则意味着返回的文本是字符串而不是 json 对象。
    • 是的,我想,但它是由带有 dataType 的 jQuery ajax 调用返回的:'json',所以它应该返回 json 对吗?
    【解决方案3】:

    试试这个:

    jsonData[1].answer[0][0].value
    

    【讨论】:

    • jsonData[1].answer[0][0].value 给出错误:“TypeError: jsonData[1].answer is undefined”
    • 根 JSON 元素是一个对象。那张照片有点误导。
    • 你能否将 JSON 分配给一个对象,假设为 jsonData。然后尝试 console.log(jsonData.JSON[1].answer);如果它工作正常,那么我们将尝试下一步。
    • 由于某种原因我仍然必须解析JSON。但现在可以了。
    【解决方案4】:
    {
      "method": [
        ["somename"]
      ],
      "answer": [{
        "name": [{
          "domain": "somedomain",
          "date": "somedate",
          "value": "somenumber"
        }]
      }],
      "credits": [{
        "used": 1
      }]
    }
    

    答案是 obj.answer[0].name[0].value

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-01-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-11-16
      • 2011-08-17
      相关资源
      最近更新 更多