嵌套JSON數組對象,判斷裏面某個值屈改變內容

經常遇到數據嵌套和數據處理,舉個例子:

json = [

     {"name":zhangsan,"id":111,"sex":1,"time":2020/12/15,},

     {"name":李四,"id":222,"sex":0,"time":1900/1/1,},

    {"name":王五,"id":333,"sex":1,"time":1900/1/1,},

         ],

收到以上這個數據格式,然後想判斷sex=0就顯示爲女,sex=1就顯示爲男;不管白貓黑貓,能構建處理就是好貓

就是重寫拆分構建:

//定義新容器
var newJson=[];
ver newSex;

//循環替換對象
 for(var i=0;i<json.length;i++){ //判斷原json裏面的長度,進行循環修改
    //這就判斷替換值咯
    if(json[i].sex == 0){
              newSex= "女"
      }else{
              newSex= "男" 
       }
      newJson.push(
                {"name":json[i].name,"id":json[i].id,"sex":newSex,"time":json[i].time,}
         );
  }

適用於js和VUE

 

應該還有更簡單的方法,比如spit()等函數,直接就可以,不用寫這麼多行代碼。上面這種方法可以構建樹或者其他更簡單

json = [

  

 {"name":張三,"id":111,"sex":1,"time":2020/12/15,

         "childInfo":{ 

               "name":張三人,"id":111,"sex":1,"time":2020/12/15,"childInfo":null

           }

  },

     {"name":李四,"id":222,"sex":0,"time":1900/1/1,"childInfo":null

          

           "childInfo":{ 

               "name":張三啊,"id":111,"sex":1,"time":2020/12/15,"childInfo":null

              }

  },

    {"name":王五,"id":333,"sex":1,"time":1900/1/1,"childInfo":null},

],

類似這種嵌套,然後你想變成這種格式:

JSON = [

    {"name":張三,"id":333,"sex":1,"time":1900/1/1,"childInfo":null},

     {"name":張三人,"id":333,"sex":1,"time":1900/1/1,"childInfo":null},

    {"name":李四,"id":333,"sex":1,"time":1900/1/1,"childInfo":null},

   {"name":張三啊,"id":333,"sex":1,"time":1900/1/1,"childInfo":null},

   {"name":王五,"id":333,"sex":1,"time":1900/1/1,"childInfo":null},

],

那就做個遞歸循環屈解決,每個都拆分,VUE的大概寫法,JS也是如此類型。這就是構造新的結構(雖然辦法傻了點)

getjson(e){//tree置換【{},{}】的JSON方法
             value;//數據來源
            var NewJSON = [];
            var i ;
        	e.map((cuttentDate ) => {
        		this.NewJSON.push( {"name":value.name,"id":value.id,"sex":value.sex,"time":value.,"childInfo":value.childInfo},);
        	    cuttentDate.childInfo!=null && cuttentDate.childInfo.length >0 ? this.getjson(cuttentDate.childInfo,cuttentDate.id) : "";
            })
            
        },

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章