我可以想到的两种方式,要么您知道要查找的内容并直接访问它,要么循环访问键,查看键的值并嵌套另一个循环,直到到达树的末尾。
您可以使用自调用函数并使用适当的jQuery来完成此操作。
下面是一个例子:
function get_the_stuff(url)
{
$.getJSON(url, function (data) {
my_parser(data) });
}
function my_parser(node)
{
$.each(node, function(key, val) {
if (val && typeof val == "object") { my_parser(val); }
else { console.log("key="+key+", val="+val); }
});
}
予省略所有的错误检查。还要确保typeof检查是适当的。您可能还需要其他一些elseif,以不同的方式处理数字,字符串,null或布尔值。这只是一个例子。
编辑:我可能略微错过了话题说“Python”......对不起。随意翻译成python,同样的原则适用。
EDIT2:现在让我们试着用Python。我假设你的JSON已经被导入到一个变量中。
def my_parser(node, depth=0):
if type(node) == "list":
for val in node:
my_parser(val,depth+1)
elif type(node) == "dict":
for key in node:
printf("level=%i key=%s" % (depth, key))
my_parser(node[key], depth+1)
elif type(node) == "str":
pritnf("level=%i value=%s" % (depth, node))
elsif type(node) == "int":
printf("level=%i value=%i % (depth, node))
else:
printf("level=%i value_unknown_type" % (depth))
Facebook的图形API返回的数据(https://imgur.com/a/xN6sp) –