特殊的json对象转数组,最合成新的json数据

今天从后台获取到的json数据如下:

var dataJson = {
    '0': { id: 1 },
    '1': { id: 2 },
    '2': { id: 3 },
    'count': 1
}

这种json我们取数据十分麻烦, dataJson['0'] 才能获取到 第一条数据,而且现在这个json没有长度这个属性的,所以,无法像数组那边去遍历输出处理。

一般从后台拿到的数据应该是下面这样的,才方便js获取和处理数据

var json = {
  data: [{
     id: 1 
    },{
     id: 2 
    },{
     id: 3
    }      
  ],
  count: 1 
}

 下面我们利用 for...in  来遍历json对象

var arr = [];
for(var attr in dataJson) {
    if (attr != 'count') {
        arr.push(dataJson[attr])
    }
}

恩,这样就可以很方便的将json转成我们想要的数组啦,接下来有必要的话就将数组放回json去

var json = {
    data: arr,
    count: dataJson['count']
}
console.log(json)

好了,看着处理好的数据,一句话--舒服。

原文地址:https://www.cnblogs.com/webBlog-gqs/p/9254240.html