跨嵌套JSON提取键值

时间:2013-07-04 09:30:28

标签: json jquery

我试图从嵌套的JSON文件中提取值,如下所示:

var mymenu = {"menu": [{"page": {"url": "http://foo.bar.com","random stuff": {"junk": "rubbish"}}},{"page": {"feed": "http://foo.bar.com"}},{"menu": [{"submenu": [{"page": {"feed": "http://foo.bar.com"}}]}]}]};

我想要提取的密钥是包含网址的Feed。我已经尝试了一个for ... in循环到检索到的JSON中,但是我只能拉动feed所在的对象,从而导致整个字符串化对象。有没有办法从JSON文件中获取我需要的密钥?

1 个答案:

答案 0 :(得分:0)

我刚刚在JSONLint验证了你的json,它似乎无效。

Parse error on line 7:
...                   }            }    
----------------------^
Expecting 'STRING'

尝试使用此json,并记住为变量指定name

var mymenu = {"menu": [{"page": {"url": "http://foo.bar.com","random stuff": {"junk": "rubbish"}}},{"page": {"feed": "http://foo.bar.com"}},{"menu": [{"submenu": [{"page": {"feed": "http://foo.bar.com"}}]}]}]};

接下来迭代json并不是太糟糕,只需将其视为具有multi dimensional对的key value数组。例如,如果您正在运行Firefox,那么获取firebug是一个好主意。

for(var i = 0; i < mymenu['menu'].length; i)
{
    console.log(mymenu['menu'][i]);
}