1

JSONオブジェクトで返された値を使用して、jQueryで連想配列を作成したいと思います。JSONオブジェクトは動的に作成されます。

[{"name":"key1","value":"value1"},{"name":"key2","value":"value2"},{"name":"key3","value":"value3"},{"name":"key4","value":"value4"}]

JSONで返された値を使用して、この形式の連想配列を作成したいと思います。

aResult = {key1 : 'value1', key2 : 'value2', key3 : 'value3', key4 : 'value4'};

現在、JSONオブジェクトを反復処理すると、コンソールに目的の配列構造が表示されます。

$.each(jData, function(k, v) {
    if (v.name.toLowerCase().indexOf("answer") >= 0) {
        name = v.name;
        value = v.value;
        console.log(name + ' : ' + value); //returns the structure I wish
    };

});

しかし、このコードをループに追加して配列を作成すると

var aResult = {name:value}

戻ります[object Object]

私は何が欠けていますか?どのように進めればよいですか?どんな助けでも大歓迎です。

4

3 に答える 3

4

これはそれを行う必要があります

var obj = {};
$.each(data, function(i, v){
       obj[v.name] = v.value
   });
console.log(obj)

デモ:フィドル

于 2013-02-14T03:03:31.530 に答える
1

コマンドjQuery.parseJSON()は、オブジェクト内のJSONを変換します。

http://api.jquery.com/jQuery.parseJSON/

于 2013-02-14T03:00:22.843 に答える
0

まず最初に、を使用してjsonを解析する必要があります

$.parseJSON();

JSONをオブジェクトに変換する必要がありますその後、を使用してみてください

$.each(data, function(n, val) {
    console.log(name + ': name = ' +val.name + ' value = ' + val.value);
  });
于 2013-02-14T03:05:41.820 に答える