栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > Web开发 > JavaScript

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

JavaScript 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

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

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

需要的就试试吧。

总结

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

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/77569.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号