比较动态JSON文件 - JavaScript

时间:2015-08-25 23:23:06

标签: javascript jquery json

我已经阅读了有关JSON对象比较的各种问题,并且我相信我可以实现比较。我的查询是关于将源.json文件动态加载到JSON对象中进行比较。

我对此项目的范围进行了修改,以便在给定的时间间隔内检查动态加载的.json文件的更改。该应用程序的先前版本不需要此,因此动态.json文件仅加载一次。下面是当前的实现(仅限单个.json文件)。

jsdata.json文件:

var jsArray = [
    {
        "Value1": "Hello!",
        "Value2": "Second!"
    },
    {
        "Value3": "Third!",
        "Value4": "Last!"
    }
]

HTML文件:

var jsScript = document.createElement('script');
jsScript.setAttribute('id', 'jsFile');
jsScript.setAttribute('src', 'jsdata.json');
document.head.appendChild(jsScript);

//psJSON is called, passing the x variable

function psJSON(x) {
    $(document).ready(function(e) {
        if (jsArray[x].Value1 == "Hello!") {
            alert("Hello!");
        } else {
            alert("Sorry!");
        }
    )};
}

此当前代码适用于从jsdata.json文件中检索数据。但是,如果我要添加第二个.json文件,我不知道如何单独处理这两个文件。

$(document).ready()函数是最好的方法,还是有更好的方法?

1 个答案:

答案 0 :(得分:1)

首先,不要将变量放在.json个文件中。

您可以使用$.getJSON()来完成这项工作。这将返回一个承诺。对每个json文件执行一次此操作。然后使用$.when()等待所有这些问题得到解决。

工作示例: http://plnkr.co/edit/dFVbzzqRaZ03gfN9GWEo