我已经阅读了有关 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() 函数是最好的方法吗,还是有更好的方法?
最佳答案
首先不要将变量放入 .json
文件中。
您可以使用$.getJSON()
来完成这项工作。这将返回一个 promise 。对您拥有的每个 json 文件执行一次此操作。然后使用 $.when()
等待所有问题都得到解决。
关于javascript - 比较动态 JSON 文件 - JavaScript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32215681/