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 相关文章推荐
javascript编程起步(第四课)
Feb 27 Javascript
JS获取并操作iframe中元素的方法
Mar 21 Javascript
JavaScript中操作字符串小结
May 04 Javascript
jQuery三级下拉列表导航菜单代码分享
Apr 15 Javascript
javascript实现拖动元素交换位置
Nov 29 Javascript
使用jQuery+EasyUI实现CheckBoxTree的级联选中特效
Dec 06 Javascript
利用BootStrap弹出二级对话框的简单实现方法
Sep 21 Javascript
微信小程序 下拉菜单简单实例
Apr 13 Javascript
一个基于react的图片裁剪组件示例
Apr 18 Javascript
JS与jQuery判断文本框还剩多少字符可以输入的方法
Sep 01 jQuery
Vue向后台传数组数据,springboot接收vue传的数组数据实例
Nov 12 Javascript
vue+element_ui上传文件,并传递额外参数操作
Dec 05 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
异世界新番又来了,同样是从零开始,男主的年龄降到5岁
2020/04/09 日漫
如何在PHP中使用Oracle数据库(2)
2006/10/09 PHP
网页游戏开发入门教程三(简单程序应用)
2009/11/02 PHP
php数据入库前清理 注意php intval与mysql的int取值范围不同
2010/12/12 PHP
基于php使用memcache存储session的详解
2013/06/25 PHP
关于图片按比例自适应缩放的js代码
2011/10/30 Javascript
JS调试必备的5个debug技巧
2014/03/07 Javascript
使用jQuery获取data-的自定义属性
2015/11/10 Javascript
js阻止移动端页面滚动的两种方法
2017/01/25 Javascript
Vue render深入开发讲解
2018/04/13 Javascript
解决select2在bootstrap modal中不能正常使用的问题
2018/08/09 Javascript
axios携带cookie配置详解(axios+koa)
2018/12/28 Javascript
JS实现“全选”和&quot;全不选&quot;功能代码实例
2020/02/06 Javascript
js的Object.assign用法示例分析
2020/03/05 Javascript
在Python中利用Pandas库处理大数据的简单介绍
2015/04/07 Python
Python编程判断这天是这一年第几天的方法示例
2017/04/18 Python
Python数据分析之双色球统计两个红和蓝球哪组合比例高的方法
2018/02/03 Python
用Python将结果保存为xlsx的方法
2019/01/28 Python
python实现中文文本分句的例子
2019/07/15 Python
Django中在xadmin中集成DjangoUeditor过程详解
2019/07/24 Python
python爬虫刷访问量 2019 7月
2019/08/01 Python
Django框架 querySet功能解析
2019/09/04 Python
pytorch 实现查看网络中的参数
2020/01/06 Python
Pandas替换及部分替换(replace)实现流程详解
2020/10/12 Python
纯css3实现的动画按钮的实例教程
2014/11/17 HTML / CSS
CSS3制作苹果风格键盘特效
2015/02/26 HTML / CSS
移动端html5模拟长按事件的实现方法
2018/09/30 HTML / CSS
西班牙英格列斯百货法国官网:El Corte Inglés法国
2017/07/09 全球购物
非常详细的C#面试题集
2016/07/13 面试题
中职生自荐信
2013/10/13 职场文书
打造高效课堂实施方案
2014/03/22 职场文书
市场推广策划方案
2014/06/02 职场文书
《一面五星红旗》教学反思
2016/02/23 职场文书
CSS Transition通过改变Height实现展开收起元素
2021/08/07 HTML / CSS
大型强子对撞机再次重启探索“第五种自然力”
2022/04/29 数码科技
numpy array找出符合条件的数并赋值的示例代码
2022/06/01 Python