您的位置:首页 > Web前端 > JQuery

JQuery对JSON数组的操作

2016-05-17 15:36 531 查看
假如要对下面的JSON数组进行操作:

新增、修改、删除操作:

var file_kxcl =
[
{
"id":10,
"children":
[
{
"index":1,
"modyid":1320,
"file_type":"kxcl",
"file_name":"T_GZSJXX.txt",
"kxcl_type":"3"
},
{
"index":2,
"modyid":1296,
"file_type":"kxcl",
"file_name":"T_GZSJXX_BASE.txt",
"kxcl_type":"3"
}
]
}
]


新增、修改的js代码:

function save_or_update_filelist(file_id, index, modyid, file_type, file_name, kxcl_type){
var file_list;		//根据文件类型判断哪个列表:'bxcl' -- file_bxcl ;  'kxcl'--file_kxcl;
var file_save;		//保存到localStorage时的key name;
if(file_type=='bxcl'){
file_list = file_bxcl;
file_save = "file_bxcl_list";
}else if(file_type=='kxcl'){
file_list = file_kxcl;
file_save = "file_kxcl_list";
}

if(file_list.length==0){													//数组为空,直接创建
file_list[file_list.length] =
{
"id": file_id,
"children":
[
{
"index": index,
"modyid": modyid,
"file_type":file_type,
"file_name": file_name,
"kxcl_type": kxcl_type
}
]
}
}else{
var id_exist = false;
var index_exist = false;
$.each(file_list, function(n, value){
if(value!=null){
if(value.id == file_id){										//文件列表下存在该文件类型id
id_exist = true;
$.each(value.children, function(indx, value){
if(value.index == index){								//该id下,index已经有了,覆盖
value.modyid = modyid;
value.file_type = file_type;
value.file_name = file_name;
value.kxcl_type = kxcl_type;
index_exist = true;
return false;
}

});

if(index_exist==false){										//该id下,index没有,新增
value.children[value.children.length] =
{
"index": index,
"modyid": modyid,
"file_type":file_type,
"file_name": file_name,
"kxcl_type": kxcl_type
}
}

return false;
}
}
});

if(id_exist==false){													//文件列表下没有此文件类型id,新增
file_list[file_list.length] =
{
"id":file_id,
"children":
[
{
"index": index,
"modyid": modyid,
"file_type":file_type,
"file_name": file_name,
"kxcl_type": kxcl_type
}
]
}
}
}

console.log(file_list);
localStorage.setItem(file_save, JSON.stringify(file_list));
}


删除JSON数组的操作:

function delete_filelist(file_id, file_type){
var file_list;
var file_save;
if(file_type=='bxcl'){
file_list = file_bxcl;
file_save = "file_bxcl_list";
}else if(file_type=='kxcl'){
file_list = file_kxcl;
file_save = "file_kxcl_list";
}

if(file_list.length){
$.each(file_list, function(n, value){
if(value!=null && value.id == file_id){
delete file_list
;
return false;
}
});
}

console.log("材料列表");
console.log(file_list);
localStorage.setItem(file_save, JSON.stringify(file_list));

}


这篇文章和之前的:

javascript/jquery知识点记录
http://blog.csdn.net/qq_30337695/article/details/50904585对json数组的操作类似,只不过这个json数组更复杂些。方法类似。
举个json格式的例子,这种定义json格式的会用的很多,很常用,有时候又不好想起来怎么去做,记下吧:

var fayuan_data =
[
{
'province':'徐州',
'fy_name':'徐州市中级人民法院',
'data':
{
'ms':1110,
'xs':621,
'zx':23432,
'xz':12312,
'la':123123,
'yj':12323123
}
},
{
'province':'连云港',
'fy_name':'连云港市中级人民法院',
'data':
{
'ms':1112,
'xs':1231,
'zx':2431,
'xz':1134,
'la':546,
'yj':8080
}

},
{
'province':'宿迁',
'fy_name':'宿迁市中级人民法院',
'data':
{
'ms':1,
'xs':1231,
'zx':23453,
'xz':5675675,
'la':09090,
'yj':797979
}

},
{
'province':'盐城',
'fy_name':'盐城市中级人民法院',
'data':
{
'ms':1111,
'xs':11111,
'zx':1111,
'xz':1,
'la':111,
'yj':11111
}

}
]
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: