JSON字符串操作移除空串更改key/value的介绍


Posted in Javascript onJanuary 05, 2019

对于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;
  }

需要的就试试吧。

总结

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

Javascript 相关文章推荐
自己动手制作jquery插件之自动添加删除行功能介绍
Oct 14 Javascript
javascript处理表单示例(javascript提交表单)
Apr 28 Javascript
JavaScript中实现依赖注入的思路分享
Jan 15 Javascript
解决jQuery使用JSONP时产生的错误
Dec 02 Javascript
JavaScript对象参数的引用传递
Jan 14 Javascript
jQuery原理系列-常用Dom操作详解
Jun 07 Javascript
好好了解一下Cookie(强烈推荐)
Jun 14 Javascript
在web中js实现类似excel的表格控件
Sep 01 Javascript
JS前端加密算法示例
Dec 22 Javascript
javascript解析ajax返回的xml和json格式数据实例详解
Jan 05 Javascript
Node.js进阶之核心模块https入门
May 23 Javascript
vue+elementUI实现表格列的显示与隐藏
Apr 13 Vue.js
JavaScript常见事件对象与操作实例总结
Jan 05 #Javascript
JavaScript常见事件处理程序实例总结
Jan 05 #Javascript
JavaScript代码调试方法实例小结
Jan 05 #Javascript
JavaScript实现连连看连线算法
Jan 05 #Javascript
JavaScript错误处理操作实例详解
Jan 04 #Javascript
JSON基本语法及与JavaScript的异同实例分析
Jan 04 #Javascript
JavaScript解析及序列化JSON的方法实例分析
Jan 04 #Javascript
You might like
Zend Framework创建自己的动作助手详解
2016/03/05 PHP
Yii1.1框架实现PHP极光推送消息通知功能
2018/09/06 PHP
jQuery live
2009/05/15 Javascript
Js 去掉字符串中的空格(实现代码)
2013/11/19 Javascript
以JSON形式将JS中Array对象数组传至后台的方法
2014/01/06 Javascript
node.js中的events.emitter.removeListener方法使用说明
2014/12/10 Javascript
使用javascript实现json数据以csv格式下载
2015/01/09 Javascript
深入理解js promise chain
2016/05/05 Javascript
js实现横向拖拽导航条功能
2017/02/17 Javascript
javascript观察者模式实现自动刷新效果
2017/09/05 Javascript
vue实现简单loading进度条
2018/06/06 Javascript
js变量声明var使用与不使用的区别详解
2019/01/21 Javascript
react同构实践之实现自己的同构模板
2019/03/13 Javascript
ES6入门教程之变量的解构赋值详解
2019/04/13 Javascript
微信小程序中使用echarts的实现方法
2019/04/24 Javascript
vue插件--仿微信小程序showModel实现模态提示窗功能
2020/08/19 Javascript
python黑魔法之参数传递
2016/02/12 Python
python正则实现计算器功能
2017/12/14 Python
python机器学习理论与实战(四)逻辑回归
2018/01/19 Python
使用matplotlib画散点图的方法
2018/05/25 Python
python3安装crypto出错及解决方法
2019/07/30 Python
python通过robert、sobel、Laplace算子实现图像边缘提取详解
2019/08/21 Python
使用matplotlib动态刷新指定曲线实例
2020/04/23 Python
关于matplotlib-legend 位置属性 loc 使用说明
2020/05/16 Python
Python中Qslider控件实操详解
2021/02/20 Python
美国从事品牌鞋类零售的连锁店:Famous Footwear
2016/08/25 全球购物
Hotels.com台湾:饭店订房网
2017/09/06 全球购物
Happy Plugs官网:瑞典无线耳机品牌
2020/07/16 全球购物
财务出纳岗位职责
2014/02/03 职场文书
酒鬼酒广告词
2014/03/21 职场文书
法定代表人资格证明书
2014/09/11 职场文书
大学生个人简历自我评价
2015/03/11 职场文书
2015年评职称工作总结范文
2015/04/20 职场文书
工作感想范文
2015/08/07 职场文书
史上最全的军训拉歌口号
2015/12/25 职场文书
高中物理教学反思
2016/02/19 职场文书