-3

JSON オブジェクトを Java スクリプト配列に変換するために使用できる最速の関数は何かを知りたいのですが、ここでは例を示します。

var j = '[{"var1":"val1", "var2":"val2"}]';

var arr  ===> [var1] = "val1"

肝心なのは、for ループをできるだけ避けることです。

4

3 に答える 3

3

最新のブラウザーのほとんどは、ネイティブJSON.parse機能をサポートします。

var arr = JSON.parse('[{"var1":"val1", "var2":"val2"}]');

console.log(arr);

//Just to be clear for OP
console.log(Array.isArray(arr)); //true

出力を [Object] ではなく Arr[var1] = "val1"] にしたい

つまり、配列のインデックス 0 でオブジェクトを作成する必要があります。

var obj = JSON.parse('[{"var1":"val1", "var2":"val2"}]')[0];

console.log(obj['var1']); //val1

値のみが必要な場合:

var values = JSON.parse('[{"var1":"val1", "var2":"val2"}]').reduce(function (values, obj) {
    for (var k in obj) values.push(obj[k]);
    return values;
}, []);

console.log(values); //["val1", "val2"]
于 2013-11-09T20:57:55.733 に答える
0

私があなたのことを正しく理解していれば、あなたは を使うことができますJSON.parse

var json = '[{"var1": "val1", "var2": "val2"}]';
var arr = JSON.parse(json);
于 2013-11-09T20:57:48.753 に答える
0

私は通常 jQuery を使用しますが、それはもはや好まれないかもしれません。

var j = '[{"var1":"val1", "var2":"val2"}]';
var arr = jQuery.parseJSON( j );

もちろん、そのようなことが必要な場合、これは一部の古いブラウザでうまく機能するはずです。

于 2013-11-09T21:00:14.630 に答える