对于JSON字符串的操作。移除键值、添加属性。

//删除JSON对象value值

var json=[.....];

delete(json['key']);

或者

delete(json.key);

//添加对象object

json.object=value;

或者

json['object']=value;

如果数据是查询数据库得到的,那么可能会存在空值,for循环JSON数据挨个移除空值或者操作数据比较繁琐。

这时候可以使用for…in来循环属性 去除空值或者操作数据。

function removeEmptyObject(object){

for (var i in object) {

var value = object[i];

if (typeof value === 'object') {

if (Array.isArray(value)) {

if (value.length == 0) {

delete object[i];

continue;

}

}

removeEmptyObject(value);

//按需添加

if (isEmpty(value)) {

delete object[i];

}

} else {

if (value === '' || value === null || value === undefined) {

delete object[i];

} else {

}

}

}

return object;

}

//是否为空

function isEmpty(object) {

for (var name in object) {

return false;

}

return true;

}

操作组织架构JSON数据,移除空键值,子集内容合并到新键children下。

function removeEmptyObject(object){

for (var i in object) {

var value = object[i];

if (typeof value === 'object') {

if (Array.isArray(value)) {

if (value.length == 0) {

//alert(object[i]);

delete object[i];

continue;

}else{

var a=[];

if(i=='jobChildren'){

for (var j = 0; j < object[i].length; j++) {

a.push(object[i][j]);

}

delete object[i];

}else if(i=='userChildren'){

for (var j = 0; j < object[i].length; j++) {

a.push(object[i][j]);

}

delete object[i];

}else if(i=='deptChildren'){

for (var j = 0; j < object[i].length; j++) {

a.push(object[i][j]);

}

delete object[i];

}else if(i=='companyChildren'){

for (var j = 0; j < object[i].length; j++) {

a.push(object[i][j]);

}

delete object[i];

}else if(i=='jobDeptChildren'){

for (var j = 0; j < object[i].length; j++) {

a.push(object[i][j]);

}

delete object[i];

}

if(a.length>0&&object["children"]!=undefined){

for (var k = 0; k < object["children"].length; k++) {

a.push(object["children"][k]);

}

object["children"]=a;

}else if(a.length>0 && object["children"]==undefined){

object["children"]=a;

}

}

}

removeEmptyObject(value);

if (isEmpty(value)) {

delete object[i];

}

} else {

if (value === '' || value === null || value === undefined) {

delete object[i];

} else {

}

}

}

}

function isEmpty(object) {

for (var name in object) {

return false;

}

return true;

}

需要的就试试吧。

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对脚本之家的支持。如果你想了解更多相关内容请查看下面相关链接

jsonobject修改key的值_JSON字符串操作移除空串更改key/value的介绍相关推荐

  1. 骑砍战团如何修改服务器设置,骑马与砍杀战团如何更改荣誉值详细方法介绍

    这是款非常经典的动作战争类游戏,不过目前为止游戏中还是村庄一些可供玩家利用的BUG,但知晓的玩家却并不多,所以小编在这就将为大家来一一分享,这次要为大家带来的是关于骑马与砍杀战团如何更改荣誉值详细方法 ...

  2. python定义一个字符串后怎么修改_python基础--字符串操作详解

    数字类型 整型 1.作用:对自然界的事务的数量进行计数或描述 2.定义方式(python和现实) 直接定义:a=2 强制类型转换:b='222' # b是字符串 int(b) # 强制转换成整形数字 ...

  3. python字符串操作_Python 字符串操作 - 树懒学堂

    字符串操作 由于Python在字符串和文本操作上的便利性,使Python成为一个流行的原生数据集操作语言已经有很长时间了.字符串对象的内建方法使得大部分文本操作非常简单.对于更为复杂的模式匹配和文本操 ...

  4. mysql的hash分区_MySQL中hash和key分区值的计算方法

    MySQL中hash和key分区值的计算方法 mysql中有一种叫作key作为partition key的类型.来看看记录是怎么分布的 对于hash 分区,使用%操作符,每个partition key ...

  5. python 下划线转驼峰_json字符串中key值下划线命名转换为驼峰命名

    json字符串中key值下划线命名转换为驼峰命名: 例如: 原json串: String json= "{'user_name':'ok','user_sex':0,'object_info ...

  6. jsonobject修改key的值_修改JSONArray里所有key的值

    下面举一个代码的列子目的是实现如下功能: [{"userId":1,"userName":"plf"},{"userId" ...

  7. java解析未知key json_获取JsonObject某一未知key的值操作

    我就废话不多说了,大家还是直接看代码吧~ //returnContent为获取到的返回参数 System.out.println(returnContent); //参数转换成json格式 JSONO ...

  8. 003-redis-命令-key操作,字符串操作

    Redis 键(key) Redis 键命令用于管理 redis 的键. 序号 命令及描述 1 DEL key 该命令用于在 key 存在时删除 key. 2 DUMP key  序列化给定 key ...

  9. SAP MM MM17里不能修改物料主数据'Purchasing Value Key'字段值?

    SAP MM MM17里不能修改物料主数据'Purchasing Value Key'字段值? 记得在D项目上线之前数据导入系统之后,业务提出一些物料采购视图里的'Purchasing value k ...

最新文章

  1. python并发入门(part5 event对象)
  2. 资金时间价值的计算机应用视频讲解,第八章资金时间价值与方案经济比选20161018讲解.ppt...
  3. mysql数据库(10):数据 备份
  4. 使用caffe自带模型训练cifar10数据集
  5. Android系统(245)---SystemServer进程的创建流程
  6. 想要羊毛薅得少,欺诈防控少不了
  7. Debian完全卸载清理MySQL服务器
  8. 千橡校内网更名人人网
  9. 中兴笔试题目及答案(软件开发工程师)
  10. (转) 那些无用的人----《人类简史》读后感
  11. LeetCode455分发饼干
  12. 特种光纤所需学习知识(光纤光学)
  13. CSS选择符(选择器)
  14. 用Scheme打开网址方法
  15. 【个人研究】21世纪西方运用脑电(EEG)的音乐研究动向分析(二)
  16. static 和 automatic 修饰(systemverilog)
  17. 并发编程之二:线程创建方法、运行原理、常见方法(sleep,join,interrupt,park,守护线程等)
  18. ChatGPT 用户破亿背后...
  19. STEP7编程调试(METH-MPI/DP-S2)
  20. 字节流和字符流的转换

热门文章

  1. Matlab找到不知道的函数名
  2. Endnote生成的中英文混排参考文献中“等”与“et al”的处理
  3. 贝叶斯机器学习:经典模型与代码实现
  4. 牛客网-数据结构笔试题目(七)-k-amazing数字求解
  5. 冷知识:摄影艺术与图像处理算法之间的纠葛关系你知道吗
  6. python程序设计课程设计_《Python程序设计》教学大纲.doc
  7. 网页设计html加音频,HTML5网页中如何嵌入音频,视频?
  8. 浙大计算机硕士比本科985,二本出身的985研究生与985本科生,哪个更厉害?网友:差的太多!...
  9. 鸿蒙os2.0发布回放,华为HarmonyOS 2.0系统发布会内容大全 鸿蒙os6月2日直播回放地址入口...
  10. html5测试题整理--针对标签的概念性