2

次の形式の JSON 配列があります。

[{"country":"Algeria"},{"country":"Africa"},{"country":"America"},{"country":"Libiya"}]

次のように変更する必要があります。

{"Algeria","Africa","America","Libiya"}

Jquery または JavaScript を使用してそれを行うにはどうすればよいですか?

4

2 に答える 2

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あり、書き換えられた配列でそれを処理する方法があることを確認するために、いくつかのチェックを導入することをお勧めします。しかし、今はこのままにしておきます。様子を見てください。これは、配列が最初から有効である場合に機能するはずです。

于 2013-03-12T12:59:09.467 に答える
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));
于 2013-03-12T12:55:43.893 に答える