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 相关文章推荐
.net,js捕捉文本框回车键事件的小例子(兼容多浏览器)
Mar 11 Javascript
浏览器窗口大小变化时使用resize事件对框架不起作用的解决方法
May 11 Javascript
javascript在网页中实现读取剪贴板粘贴截图功能
Jun 07 Javascript
Javascript实现禁止输入中文或英文的例子
Dec 09 Javascript
JavaScript实现文本框中默认显示背景图片在获得焦点后消失的方法
Jul 01 Javascript
基于JavaScript如何制作遮罩层对话框
Jan 26 Javascript
微信小程序链接传参并跳转新页面
Nov 29 Javascript
js/jq仿window文件夹移动/剪切/复制等操作代码
Mar 08 Javascript
Angular.js基础学习之初始化
Mar 10 Javascript
Vue 监听列表item渲染事件方法
Sep 06 Javascript
JS判断数组四种实现方法详解
Jun 29 Javascript
小程序实现列表倒计时功能
Jan 29 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调用数据库的存贮过程!
2006/10/09 PHP
PHP 中文乱码解决办法总结分析
2009/07/30 PHP
php数组函数序列之in_array() - 查找数组中是否存在指定值
2011/11/07 PHP
PHP微信开发之微信消息自动回复下所遇到的坑
2016/05/09 PHP
php微信公众号开发之答题连闯三关
2018/10/20 PHP
基于jquery插件实现常见的幻灯片效果
2013/11/01 Javascript
JavaScript异步编程Promise模式的6个特性
2014/04/03 Javascript
json数据处理及数据绑定
2017/01/25 Javascript
微信小程序 template模板详解及实例
2017/02/21 Javascript
JavaScript实现256色转灰度图
2017/02/22 Javascript
微信小程序开发animation心跳动画效果
2017/08/16 Javascript
微信小程序实现文字跑马灯
2020/05/26 Javascript
JavaScript中如何对多维数组(矩阵)去重的实现
2019/12/04 Javascript
[56:45]DOTA2上海特级锦标赛D组小组赛#1 EG VS COL第一局
2016/02/28 DOTA
[04:40]2016国际邀请赛中国区预选赛全程TOP10镜头集锦
2016/07/01 DOTA
Python实现短网址ShortUrl的Hash运算实例讲解
2015/08/10 Python
基于Python 的进程管理工具supervisor使用指南
2016/09/18 Python
python使用生成器实现可迭代对象
2018/03/20 Python
Python线程下使用锁的技巧分享
2018/09/13 Python
pygame游戏之旅 如何制作游戏障碍
2018/11/20 Python
Python中栈、队列与优先级队列的实现方法
2019/06/30 Python
浅析Django 接收所有文件,前端展示文件(包括视频,文件,图片)ajax请求
2020/03/09 Python
Python Celery异步任务队列使用方法解析
2020/08/10 Python
利用HTML5+CSS3实现3D转换效果实例详解
2017/05/02 HTML / CSS
如何用Python来进行查询和替换一个文本字符串
2014/01/02 面试题
商务日语毕业生自荐信范文
2013/11/14 职场文书
办公自动化毕业生求职信
2014/03/09 职场文书
培训讲师岗位职责
2014/04/13 职场文书
春季防火方案
2014/05/10 职场文书
专题组织生活会思想汇报
2014/10/01 职场文书
2015年国庆节活动总结
2015/03/23 职场文书
2016春节慰问信范文
2015/03/25 职场文书
2015年管理人员工作总结
2015/05/13 职场文书
SQL Server 数据库实验课第五周——常用查询条件
2021/04/05 SQL Server
使用Pytorch训练two-head网络的操作
2021/05/28 Python
Java代码规范与质量检测插件SonarLint的使用
2022/08/05 Java/Android