我可以在$.getJSON函数中使用递归JavaScript函数吗?

前端之家收集整理的这篇文章主要介绍了我可以在$.getJSON函数中使用递归JavaScript函数吗?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个可变深度的 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,因此不会出现异步问题.

在将来,我还想包括一个regexp检查,以便我可以使用某个字符串提取值,例如/ HTTP /.最好的方法是什么?

解决方法

由于其他答案涵盖了您应该考虑的大部分事项,我想我会为您的实际问题发布一个解决方案.

猜你在找的Json相关文章