我得到了一些嵌套在对象中的json。我需要提取名称为" body"的每个实体。有没有办法在不编写长算法的情况下做到这一点?
答案 0 :(得分:1)
您需要以递归方式遍历每个节点及其子节点并检查其密钥名称。有些库可以帮助您解决这个问题。或者,您可以使用xpath for JSON。
答案 1 :(得分:1)
您可以尝试:
$.getJSON('http://www.reddit.com/r/AskReddit/comments/22rx5c.json', function(json){
result = [];
recurse('body', json);
console.log(result);
});
function recurse(toFind, json){
for( var key in json ){
if( typeof json[key] == 'object' ){
recurse( toFind, json[key] );
}
if( key == toFind ){
result[result.length] = json[key];
}
}
};
在这里你可以找到JSFiddle