如何转换其他形式的JSON?

时间:2016-04-17 16:36:21

标签: javascript arrays json

我刚开始使用JSON,我有一个初学者问题。

我有以这种形式的JSON数据:

[{"price":"0"},{"price":"124"},{"price":"12"},{"price":"0"},{"price":"124"}]

是否可以更改它,因此输出将为[0,124,12,0,124]

6 个答案:

答案 0 :(得分:2)

var arr = [{"price":"0"},{"price":"124"},{"price":"12"},{"price":"0"},{"price":"124"}]

var arr2 = []

for (i in arr){ 
  arr2.push(arr[i].price)
}

答案 1 :(得分:1)

你可以使用地图功能,

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/map

var temp = [{"price":"0"},{"price":"124"},{"price":"12"},{"price":"0"},{"price":"124"}];


 var arr = temp .map(function (el) {
      return el.price;
    });

console.log(arr)

答案 2 :(得分:1)

var array = [{"price":"0"},{"price":"124"},{"price":"12"},{"price":"0"},{"price":"124"}];

var output = array.map(function(each){
  return parseInt(each.price);
});

答案 3 :(得分:1)

您可以使用pasrseInt()函数将字符串转换为整数,使用JSON.parse()从json字符串创建javascript对象。

所以:

var s = '[{"price":"0"},{"price":"124"},{"price":"12"},{"price":"0"},{"price":"124"}]'
var list = JSON.parse(s)
var newArray = []
for (var i = 0; i < list.length; ++i) {
    var element = list[i]
    var obj = {}
    for (key in element) {
        obj[key] = parseInt(element[key])
    }
    newArray.push(obj)
}
s = JSON.stringify(newArray)

答案 4 :(得分:1)

在jQuery中你可以使用这个函数:

&#13;
&#13;
function objectArrayToValueString(objectArray) {

    var output = objectArray.map(function (each) {
        return parseInt(each.price);
    });

    return JSON.stringify(output);
}

var objectArray = [{ "price": "0" }, { "price": "124" }, { "price": "12" }, { "price": "0" }, { "price": "124" }];

var result = objectArrayToValueString(objectArray);

alert(result);
&#13;
&#13;
&#13;

答案 5 :(得分:0)

只需遍历您的JSON对象数组,将值替换为值为

的JSON对象
var arr =[{"price":"0"},{"price":"124"},{"price":"12"},{"price":"0"},"price":"124"}];

for (i in arr){   
  arr[i]=parseInt(arr[i].price);  
}
console.log(arr);