首页 > JSON数据重组

JSON数据重组

第一个:

{
  p: "category",
  category1: "001",
  name1: "100",
  category2: "001",
  name2: "100",
  category3: "001",
  name3: "100",
  category12: "001",
  name12: "100",
}

第二个value对应上面的nameX

{
  p: "category",
  category: [
    {
      value: "001",
      name: "100"
    },
    {
      value: "001",
      name: "100"
    },
    {
      value: "001",
      name: "100"
    },
    {
      value: "001",
      name: "100"
    }
  ]
}

如何将第一个转换成第二个?


function formate(ob){

        var newObject = {};
        newObject.p = ob.p;
        newObject.category = [];
        var newArry =[];
        for(var i in ob){
            if(i!=="p"){
                newArry.push(ob[i]);
            }
        }

        //console.log(newArry);

        for(var j=0;j<(newArry.length/2);j++){
            var object = {};
            
            object.value = newArry[j];
            object.name = newArry[j+1];

            newObject.category.push(object);
        }
        return newObject;
    }

var list={
  p: "category",
  category1: "001",
  name1: "100",
  category2: "001",
  name2: "100",
  category3: "001",
  name3: "100",
  category12: "001",
  name12: "100",
}
var newList={p:list.p,category:[]};
var key=Object.keys(list);
key.shift();
for(var i=0;i<key.length;i+=2){
  newList.category.push({
    value:list[key[i]],
    name: list[key[i+1]]
  });
}
console.log(newList)

var obj = {p: "category",category : []};
var src = {
  p: "category",
  category1: "001",
  name1: "100",
  category2: "001",
  name2: "100",
  category3: "001",
  name3: "100",
  category12: "001",
  name12: "100",
};

for(var key in src){
    if(/category/.test(key)){
        obj.category.push({
            value : src[key],
            name : src['name' + key.match(/\d+/)[0]]
        });
    }
}
【热门文章】
【热门文章】