JavaScript JSON 比较

标签 javascript jquery json compare

我正在尝试构建一个网络应用程序,从服务器获取数据并将其显示给用户。脚本每 10 秒从服务器获取数据,如果数据发生更改,它会提醒用户。这是我现在使用的代码,但它每 10 秒提醒一次数据是否已更改。

那么我需要如何更改我的 scipt 以使其比较旧 JSON 和新 JSON 并查看它们是否不同,以及它们在更新向用户显示的数据之前是否显示警报?

$('#ListPage').bind('pageinit', function(event) {
    getList1();
});
setInterval ( "getList1()", 10000 );
var old = "";

function getEmployeeList1() {
    $.getJSON(serviceURL + 'getemployees.php?' + formArray, function(data) {
        if(data != old){ // data from the server is not same as old
            $('#nollalista li').remove();
            keikka = data.key;
            $.each(keikka, function(index, lista) {
                $('#nollalista').append('<li><a href="employeedetails.html?id=' + lista.IND + '">' +
                        '<h4>' + lista.OSO + '</h4>' +
                        '<p>' + lista.AIKA + '</p>' +'</a></li>');
            });
            $('#nollalista').listview('refresh');

            if(old != "")
                alert("New data!");        
            old = data;
        }
    });
}  

最佳答案

一个非常简单(但有点蹩脚)的解决方案是比较字符串表示:

if(JSON.stringify(a) != JSON.stringify(b)) { ... }

关于JavaScript JSON 比较,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10188931/

相关文章:

javascript - Angular - 同步 XMLHttpRequest 加载 Assets 的 JSON

javascript - 使用按钮 jquery 添加新行然后删除按钮

javascript - 为什么多个 $.getJSON 调用不能正常工作?

javascript - ReactJS - 来自网络摄像头的视频流无法正常工作

javascript - 如何对与 jQuery 绑定(bind)的事件进行排序

javascript - 检测移动设备

javascript - 清空并追加元素的扩展高度

javascript - 从外部 HTML 添加和过滤 div

json - Swift 解码器无法使用类型为 'decode' 的参数列表调用 '(VrOpsObjectStatistics!, from: Data)'

jQuery - 无法解析 json