JQuery对JSON数组的操作
2016-05-17 15:36
531 查看
假如要对下面的JSON数组进行操作:
新增、修改、删除操作:
新增、修改的js代码:
删除JSON数组的操作:
这篇文章和之前的:
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
}
}
]
新增、修改、删除操作:
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
}
}
]
相关文章推荐
- jQuery Mobile操作HTML5的常用函数总结
- jQuery学习笔记三:获取内容(text、html、val)
- 【转】jQuery选择器总结
- jQuery实战学习笔记(一)-选择要操作的元素和管理包装集
- 基于jQuery下拉日期插件
- jquery的学习
- jquery 双击修改某项值
- jQuery扩展方法
- jQuery基础——样式篇
- jQuery之防止冒泡事件
- jquery中click事件的几种写法
- jquery中的attr和prop深度理解
- 5月13日 Jquery基础
- jQuery+css3弹出框插件
- jquery动态新增行
- 统一处理jquery ajax请求过程中的异常错误信息的机制
- JQUERY 大于
- jquery中ajax如何返回值到上层函数里?
- jQuery事件绑定和委托
- jquery 属性操作 attr () val() html()