JavaScript 操作JSON对象查找、删除、修改
2017-12-11 19:59
465 查看
近日根据公司需求用js对json的各种处理,完成后整理如下(全递归处理方法,如有更好的见解希望告知):
对JSON的查找
2、删除JSON对象中的某个数据
3、增加和修改JSON对象中的某个数据节点
例子
对JSON的查找
/** * * 获取JSON对应叶子节点的数据 */ function getJSONData(keys, data ){ let [key, ...child] = keys if (keys.length == 1) { // delete datas[key] 只能删除对象,删除数组时不能修改数组的长度 return datas[key] } else { let { [key]: data } = datas delJSONData(child, data) } }
2、删除JSON对象中的某个数据
/** * datas 为json对象,keys为json删除的key的数组 */ function delJSONData(keys,type, datas) { let [key, ...child] = keys if (keys.length == 1) { if(type=='array'){ datas.splice(key, 1) // 若删除数组元素用,删除对象用delete }else{ delete datas[key] // 只能删除对象,删除数组时不能修改数组的长度 } } else { let { [key]: data } = datas delJSONData(child,type, data) } }
3、增加和修改JSON对象中的某个数据节点
/** * 修改JSON对象中的某个数据 */ function setJSONData(keys, value, datas) { let [key, ...child] = keys if (keys.length == 1) { datas[key] = value } else { let { [key]: data } = datas setJSONData(child, value, data) } }
例子
let json ={ "teacher": [ { "name": "jordan", "sex": "m", "age": "40" }, { "name": "bryant", "sex": "m", "age": "28" }, { "name": "McGrady", "sex": "m", "age": "27" } ] } let pareType = 'array' let keystr = 'teacher.0.name' //teacher为第一个key,0为teacher数组的第一个选项,name为想要删除的对象名 //获取 name = jordan let name = getJSONData(keystr.split('.'),json) console.log(name) //删除 name = jordan对象 delJSONData(keystr.split('.'),pareType,json) console.log(json) let name = "123" setJSONData(keystr.split('.'),name,json) //修改成功 console.log(json)
相关文章推荐
- javascript操作JSON对象,增加 删除 修改
- 在Javascript操作JSON对象,增加 删除 修改的简单实现
- 在Javascript操作JSON对象,增加 删除 修改
- 在Javascript操作JSON对象,增加 删除 修改的简单实现
- 在Javascript操作JSON对象,增加 删除 修改
- javascript里面的数组,json对象,动态添加,修改,删除示例
- javascript json 添加 修改 删除 的操作
- javascript里面的数组,json对象,动态添加,修改,删除示例
- javascript里面的数组,json对象,动态添加,修改,删除示例
- javascript里面的数组,json对象,动态添加,修改,删除示例
- JavaScript数组,JSON对象实现动态添加、修改、删除功能示例
- Javascript 操作select控件大全(新增、修改、删除、选中、清空、判断存在等)
- 在Javascript操作JSON对象:增加
- 在javascript中添加、修改或者删除对象实例的属性和方法
- Javascript 操作select控件大全(新增、修改、删除、选中、清空、判断存在等)
- javascript 常见数组操作( 1、数组整体元素修改 2、 数组筛选 3、jquery 元素转数组 4、获取两个数组中相同部分或者不同部分 5、数组去重并倒序排序 6、数组排序 7、数组截取slice 8、数组插入、删除splice(需明确位置) 9、数组遍历 10、jQuery根据元素值删除数组元素的方)
- 转 JavaScript 操作select控件大全(新增、修改、删除、选中、清空、判断存在等)
- Javascript 操作select控件大全(新增、修改、删除、选中、清空、判断存在等)
- Javascript 操作select控件大全(新增、修改、删除、选中、清空、判断存在等)
- 【javascript基础】之Javascript 操作select控件大全(新增、修改、删除、选中、清空、判断存在等)