Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript JSON未解析-类型错误_Javascript_Json - Fatal编程技术网

Javascript JSON未解析-类型错误

Javascript JSON未解析-类型错误,javascript,json,Javascript,Json,我必须提供以下JSON示例: { "findItemsByKeywordsResponse":[ { "ack":[ "Success" ], "version":[ "1.13.0" ], "timestamp":[ "2015-02-10T18:12:21.785Z" ], "searchResult":[ { "@count":"

我必须提供以下JSON示例:

{
 "findItemsByKeywordsResponse":[
  {
     "ack":[
        "Success"
     ],
     "version":[
        "1.13.0"
     ],
     "timestamp":[
        "2015-02-10T18:12:21.785Z"
     ],
     "searchResult":[
        {
           "@count":"100",
           "item":[
              {
                 "itemId":[
                    "371250980931"
                 ],
                 "title":[ etc etc...
我试图将其解析如下:

function _cb_findItemsByKeywords(root) {
  var items = root.findItemsByKeywordsResponse[0].searchResult[0].item || [];
  etc etc...
}
但会出现以下错误:

TypeError: root.findItemsByKeywordsResponse is undefined
    var items = root.findItemsByKeywordsResponse[0].searchResult[0].item || [];
    ----^

你知道我做错了什么吗?

你需要解析根

function _cb_findItemsByKeywords(root) {
  root = JSON.parse(root);
  var items = root.findItemsByKeywordsResponse[0].searchResult[0].item || [];
  etc etc...
}

JSON对于Javascript来说只是一个字符串,您需要将其解析为一个对象。

您的代码不是关于解析的,而是访问假定已解析的元素。是的,这是正确的,解析是我能想到的最接近的描述。只是一个想法:您是否检查了根变量的内容:
警报(JSON.stringify(root))
?这可能表明您正在使用您认为不同的json。