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创建的一个图片、视频缓冲的效果样式插件
Aug 28 Javascript
JS继承--原型链继承和类式继承
Apr 08 Javascript
第二次聊一聊JS require.js模块化工具的基础知识
Apr 17 Javascript
jquery获取input type=text中的值的各种方式(总结)
Dec 02 Javascript
angularjs实现猜数字大小功能
May 20 Javascript
vue 组件使用中的一些细节点
Apr 25 Javascript
原生JS+HTML5实现跟随鼠标一起流动的粒子动画效果
May 03 Javascript
js实现鼠标单击Tab表单切换效果
May 16 Javascript
浅谈Vuex注入Vue生命周期的过程
May 20 Javascript
自定义Vue组件打包、发布到npm及使用教程
May 22 Javascript
vue实现在v-html的html字符串中绑定事件
Oct 28 Javascript
基于canvasJS在PHP中制作动态图表
May 30 Javascript
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
ADODB结合SMARTY使用~超级强
2006/11/25 PHP
Wordpress php 分页代码
2009/10/21 PHP
PHP从零开始打造自己的MVC框架之路由类实现方法分析
2019/06/03 PHP
通过jQuery打造支持汉字,拼音,英文快速定位查询的超级select插件
2010/06/18 Javascript
javascript数字数组去重复项的实现代码
2010/12/30 Javascript
js下将字符串当函数执行的方法
2011/07/13 Javascript
基于jQuery实现的水平和垂直居中的div窗口
2011/08/08 Javascript
Javascript 面向对象(三)接口代码
2012/05/23 Javascript
js中判断数字\字母\中文的正则表达式 (实例)
2012/06/29 Javascript
jQuery 1.8 Release版本发布了
2012/08/14 Javascript
js onload事件不起作用示例分析
2013/10/09 Javascript
js取消单选按钮选中并判断对象是否为空
2013/11/14 Javascript
jquery获取颜色在ie和ff下的区别示例介绍
2014/03/28 Javascript
js运动事件函数详解
2016/10/21 Javascript
Bootstrap CSS组件之按钮下拉菜单
2016/12/17 Javascript
jQuery 全选 全不选 事件绑定的实现代码
2017/01/23 Javascript
深入探究AngularJs之$scope对象(作用域)
2017/07/20 Javascript
深入理解基于vue-cli的vuex配置
2017/07/24 Javascript
纯js实现图片匀速淡入淡出效果
2017/08/22 Javascript
微信小程序自定义组件实现tabs选项卡功能
2018/07/14 Javascript
3分钟读懂移动端rem使用方法(推荐)
2019/05/06 Javascript
vue动态设置页面title的方法实例
2020/08/23 Javascript
Python实现栈的方法
2015/05/26 Python
python TCP Socket的粘包和分包的处理详解
2018/02/09 Python
pyqt5的QComboBox 使用模板的具体方法
2018/09/06 Python
pandas将多个dataframe以多个sheet的形式保存到一个excel文件中
2019/10/10 Python
pytorch之添加BN的实现
2020/01/06 Python
Python如何使用bokeh包和geojson数据绘制地图
2020/03/21 Python
Django添加bootstrap框架时无法加载静态文件的解决方式
2020/03/27 Python
德国家具、照明、家居用品网上商店:Wayfair.de
2020/02/13 全球购物
计算机工程学院个人求职信
2013/10/05 职场文书
运动会开幕式解说词
2014/02/05 职场文书
环保倡议书100字
2014/05/15 职场文书
2015年女职工工作总结
2015/05/15 职场文书
企业法律事务工作总结
2015/08/11 职场文书
python实现简易自习室座位预约系统
2021/06/30 Python