我有一个JSON数组,格式如下:
[{"country":"Algeria"},{"country":"Africa"},{"country":"America"},{"country":"Libiya"}]
我需要更改如下:
{"Algeria","Africa","America","Libiya"}
如何使用Jquery或JavaScript?
答案 0 :(得分:1)
在javascript中:
var myArray = [{"country":"Algeria"},{"country":"Africa"},{"country":"America"},{"country":"Libiya"}];
var myNewArray = [];
for (var item in myArray) {
var country = myArray[item].country;
myNewArray.push(country);
}
alert(JSON.stringify(myNewArray));
答案 1 :(得分:1)
你的问题实际上有错误的符号。您想要的最终结果应该是方括号([]
),而不是花括号({}
)。大括号表示一个对象而不是一个数组,但你没有使用键值结构,所以你上面的最终结果实际上是无效的。
相反,您似乎希望["Algeria","Africa",America","Libiya"]
作为最终结果。
假设你的意思是改变你所拥有的数组,而不是创建一个新数组并假设你使用的是JavaScript:
var arr = [{"country":"Algeria"},{"country":"Africa"},{"country":"America"},{"country":"Libiya"}], // declare your array upfront (but this could be a `JSON.parse()` call)
i = 0, // counter
l = arr.length; // limit/length of array
for (i; i < l; i += 1) {
arr[i] = arr[i].country; // Replace object with value of country property.
}
// `arr` will now be `["Algeria","Africa",America","Libiya"]`
当然,您可能需要引入一些检查以确保数组的每个元素都有一个名为country
的属性,并在重写的数组中处理该属性。但是我现在就告诉你,看看你是如何继续下去的。如果您的数组有效,那么这应该有效。