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 转换为 Object。

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 回答