Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/476.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 比较两个json并在json中添加新对象_Javascript_Jquery_Json - Fatal编程技术网

Javascript 比较两个json并在json中添加新对象

Javascript 比较两个json并在json中添加新对象,javascript,jquery,json,Javascript,Jquery,Json,我将在localstorage中存储json数据,比较本地存储json和变量声明json的程序加载时间。如果两者不同,请将其添加到localstorage json 我试过下面的方法 var intial_json_string='{'+ ' "javascript":{"totmark":0,"outof":100},'+ ' "html":{"totmark":0,"outof":100},'+ ' "php":{"totmark":0,"outof":100},'+

我将在localstorage中存储json数据,比较本地存储json和变量声明json的程序加载时间。如果两者不同,请将其添加到localstorage json

我试过下面的方法

var intial_json_string='{'+
    ' "javascript":{"totmark":0,"outof":100},'+
    ' "html":{"totmark":0,"outof":100},'+
    ' "php":{"totmark":0,"outof":100},'+
    ' "java":{"totmark":0,"outof":100},'+
    ' "Bottel":{"totmark":0,"outof":100}'+
    '}';

function first_load()
{
    var tmp_json=jQuery.parseJSON(localStorage.getItem("localconst_json"));
    var loc_tmp_json=jQuery.parseJSON(intial_json_string);

    var temp_obj={"totmark":0,"outof":100};

    $.grep(tmp_json,function(n,i){
        var found=0;
        $.grep(loc_tmp_json,function(n1,i1){    

            if(n==n1)
                found=1;
        });
        if(found==1)
        {
            loc_tmp_json[n] = temp_obj;
        }
    });
}
范例

var json1='{'+
    ' "javascript":{"totmark":0,"outof":100},'+
    ' "html":{"totmark":0,"outof":100},'+
    ' "php":{"totmark":0,"outof":100},'+
    ' "java":{"totmark":0,"outof":100},'+
    ' "Bottel":{"totmark":0,"outof":100}'+
    '}';

var json2='{'+
    ' "javascript":{"totmark":1,"outof":100},'+
    ' "html":{"totmark":2,"outof":100},'+
    ' "php":{"totmark":3,"outof":100},'+
    ' "java":{"totmark":5,"outof":100}'+
    '}';
比较两个json对象,如果不存在,则将缺少的对象添加到json2

var json2='{'+
    ' "javascript":{"totmark":1,"outof":100},'+
    ' "html":{"totmark":2,"outof":100},'+
    ' "php":{"totmark":3,"outof":100},'+
    ' "java":{"totmark":5,"outof":100},'+
    ' "Bottel":{"totmark":0,"outof":100}'+
    '}';

你的问题是什么?检查这个2 json对象comparisonhttp://stackoverflow.com/questions/1068834/object-comparison-in-javascriptI 可以比较一下,如何将对象添加到json中这应该会有所帮助
var tmp_json=jQuery.parseJSON(localStorage.getItem("localconst_json"));
var loc_tmp_json=jQuery.parseJSON(intial_json_string);

var temp_obj={"totmark":0,"outof":100};


$.each(loc_tmp_json,function(n,i){
    var found=0;
    $.each(tmp_json,function(n1,i1){    

        if(n==n1)
            found=1;
    });
    if(found==0)
    {
        tmp_json[n] = temp_obj;
    }
});


localStorage.setItem("localconst_json",JSON.stringify(tmp_json));
const_json=jQuery.parseJSON(localStorage.getItem("localconst_json"));