關於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);//開始位置,刪除個數,插入對象

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM