我将json数据存储在localstorage中,程序加载时间比较本地存储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}'+
'}';
答案 0 :(得分:0)
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"));