我有一个可变深度的
JSON文档.一个例子:
[ { "type": "firsttype","text": { "id": "content" } } ]
我想要做的是检索某些键的值,比如文本.由于我不知道这些密钥在.JSON中可能出现在哪里,我需要使用递归函数.然后我尝试在HTML文件中显示这些键和值.
我在这里有一个初步的尝试:
$.getJSON("file.json",function getText (oValue,sKey) { links = []; if (typeof oValue == "object" || typeof oValue == "array") { for (i in oValue) { getText (oValue [i],i); } } else { links.push ( "<li id='" + oValue + "'>" + sKey + "</li>" ); } $( "<ul/>",{ "class": "my-new-list",html: links.join( "" ) }).appendTo( "body" ); });
当我在本地或远程加载页面或在python -m SimpleHTTPServer上加载页面时,我没有错误,也没有页面上的任何内容.我究竟做错了什么?我在$.getJSON调用中包含了所有JS,因此不会出现异步问题.
解决方法
由于其他答案涵盖了您应该考虑的大部分事项,我想我会为您的实际问题发布一个解决方案.