关于json对象的删除

摘自:http://xosadan.iteye.com/blog/1100383

关于json对象的删除

 

 

一个json对象在后台产生了,但是有些数据可能无效或者不合法,所以需要在前台作些例外处理,比如删除掉。
 
json的删除有很多种,直接用过 delete json对象方式。
 
举例如下
Js代码  
var columns = [    
      {name:"bigTitle",caption:reportData.bigTitle,children:[  
    {name:"orgName",caption:"组织结构名称",width:100,mode:"string"},                                                     
    {name:"helpinfo",caption:reportData.columnCaption[0],  
     children:[{name:"workday_month",caption:"工作日数",width:80,mode:"number",format:"#"},  
               {name:"loggedday_month",caption:"登录天数",width:80,mode:"number",format:"#"}]  
    },  
    {name:"helpinfo",caption:reportData.columnCaption[1],  
     children:[{name:"workday_week1",caption:"工作日数",width:70,mode:"number",format:"#"},  
               {name:"loggedday_week1",caption:"登录天数",width:70,mode:"number",format:"#"}]  
    },  
    {name:"helpinfo",caption:reportData.columnCaption[2],  
     children:[{name:"workday_week2",caption:"工作日数",width:70,mode:"number",format:"#"},  
               {name:"loggedday_week2",caption:"登录天数",width:70,mode:"number",format:"#"}]  
    },   
    {name:"helpinfo",caption:reportData.columnCaption[3],  
     children:[{name:"workday_week3",caption:"工作日数",width:70,mode:"number",format:"#"},  
               {name:"loggedday_week3",caption:"登录天数",width:70,mode:"number",format:"#"}]  
    },   
    {name:"helpinfo",caption:reportData.columnCaption[4],  
     children:[{name:"workday_week4",caption:"工作日数",width:70,mode:"number",format:"#"},  
               {name:"loggedday_week4",caption:"登录天数",width:70,mode:"number",format:"#"}]  
    },   
    {name:"helpinfo",caption:reportData.columnCaption[5],  
     children:[{name:"workday_week5",caption:"工作日数",width:70,mode:"number",format:"#"},  
               {name:"loggedday_week5",caption:"登录天数",width:70,mode:"number",format:"#"}]  
    }  
      ]}     
     ];  
 
根据rtData.columnCaption 判断,如果为null,则删除该节点,不予显示。
 
用过 delete columns[0]['children'][6];
 
无效,报js错误,后来发现 删除确实是删除了,但是最后还遗留了一个逗号,导致IE下报错,查了很多资料无解。
 
最后换了个解决方法。
 
columns[0]['children'].pop();
 
pop()方法表示删除最后一个节点。
 
工作日历的要求正好满足该要求,从后递减。
 
其他类似的方法有如下:
var person={name:"yaoMing",sex:"m",age:"26"};
jsonObj2.persons.push(person);//数组最后加一条记录
jsonObj2.persons.pop();//删除最后一项
jsonObj2.persons.shift();//删除第一项
jsonObj2.persons.unshift(person);//数组最前面加一条记录
只要适合Javascript的方法都是可以用在JSON对象的数组中的!所以还有另外的方法splice( )进行crud操作!
//删除
jsonObj2.persons.splice(0,1);//开始位置,删除个数
//替换不删除
var self={name:"tom",sex:"m",age:"24"};
var brother={name:"Mike",sex:"m",age:"29"};
jsonObj2.persons.splice(1,0,self,brother);//开始位置,删除个数,插入对象
//替换并删除
var self={name:"tom",sex:"m",age:"24"};
var brother={name:"Mike",sex:"m",age:"29"};
jsonObj2.persons.splice(0,1,self,brother);//开始位置,删除个数,插入对象

 

posted on 2013-11-15 07:46  Alfa 阅读( ...) 评论( ...) 编辑 收藏

转载于:https://www.cnblogs.com/wuyifu/p/3424621.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值