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 相关文章推荐
按钮JS复制文本框和表格的代码
Apr 01 Javascript
ie下动态加态js文件的方法
Sep 13 Javascript
javascript读取Xml文件做一个二级联动菜单示例
Mar 17 Javascript
Javascript中的arguments与重载介绍
Mar 15 Javascript
JS+DIV+CSS实现的经典标签切换效果代码
Sep 14 Javascript
第一次接触神奇的Bootstrap基础排版
Jul 26 Javascript
JavaScript之DOM插入更新删除_动力节点Java学院整理
Jul 03 Javascript
json数据传到前台并解析展示成列表的方法
Aug 06 Javascript
浏览器事件循环与vue nextTicket的实现
Apr 16 Javascript
vue-cli3添加模式配置多环境变量的方法
Jun 05 Javascript
vue框架中props的typescript用法详解
Feb 17 Javascript
JavaScript中的全局属性与方法深入解析
Jun 14 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
PHP通过COM使用ADODB的简单例子
2006/12/31 PHP
二招解决php乱码问题
2012/03/25 PHP
php获取从百度、谷歌等搜索引擎进入网站关键词的方法
2015/07/08 PHP
PHP生成条形码大揭秘
2015/09/24 PHP
JavaScript中URL编码函数代码
2011/01/11 Javascript
javascript数据类型示例分享
2015/01/19 Javascript
Javascript使用post方法提交数据实例
2015/08/03 Javascript
JS实现仿苹果底部任务栏菜单效果代码
2015/08/28 Javascript
js精准的倒计时函数分享
2016/06/29 Javascript
js实现简单的网页换肤效果
2017/01/18 Javascript
Angular 4环境准备与Angular cli创建项目详解
2017/05/27 Javascript
Vue中使用vee-validate表单验证的方法
2018/05/09 Javascript
Vue导出页面为PDF格式的实现思路
2018/07/31 Javascript
微信小程序+腾讯地图开发实现路径规划绘制
2019/05/22 Javascript
JS图片懒加载的优点及实现原理
2020/01/10 Javascript
vue-video-player 解决微信自动全屏播放问题(横竖屏导致样式错乱问题)
2020/02/25 Javascript
element中的$confirm的使用
2020/04/26 Javascript
解决VueCil代理本地proxytable无效报错404的问题
2020/11/07 Javascript
python 多线程应用介绍
2012/12/19 Python
Python中logging模块的用法实例
2014/09/29 Python
Python中用sleep()方法操作时间的教程
2015/05/22 Python
Python开发如何在ubuntu 15.10 上配置vim
2016/01/25 Python
python使用folium库绘制地图点击框
2018/09/21 Python
对Python中list的倒序索引和切片实例讲解
2018/11/15 Python
Python中GeoJson和bokeh-1的使用讲解
2019/01/03 Python
Pyqt5 实现跳转界面并关闭当前界面的方法
2019/06/19 Python
Python 实现交换矩阵的行示例
2019/06/26 Python
Flask配置Cors跨域的实现
2019/07/12 Python
python标准库OS模块函数列表与实例全解
2020/03/10 Python
html5+css3之CSS中的布局与Header的实现
2014/11/21 HTML / CSS
利用promise及参数解构封装ajax请求的方法
2021/03/24 Javascript
《我的伯父鲁迅先生》教学反思
2014/02/12 职场文书
保护环境倡议书范文
2014/05/13 职场文书
乡镇党员群众路线教育实践活动对照检查材料思想汇报
2014/10/05 职场文书
应收账款管理制度
2015/08/06 职场文书
Go语言设计模式之结构型模式
2021/06/22 Golang