【问题标题】:Create jQuery array from JSON从 JSON 创建 jQuery 数组
【发布时间】:2013-01-29 19:08:21
【问题描述】:

我想使用 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]

我错过了什么?我该如何前进?任何帮助表示赞赏。

【问题讨论】:

  • 试试aResult={};aResult[name]=value; 或类似的东西。
  • 那行得通。谢谢。

标签: javascript jquery arrays associative-array


【解决方案1】:

jQuery.parseJSON() 命令将 JSON 转换为 Object。

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

【讨论】:

    【解决方案2】:

    应该这样做

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

    演示:Fiddle

    【讨论】:

    • 完美运行。谢谢。
    【解决方案3】:

    首先你需要使用解析json

    $.parseJSON();
    

    需要将 JSON 转换为对象 之后尝试使用

    $.each(data, function(n, val) {
        console.log(name + ': name = ' +val.name + ' value = ' + val.value);
      });
    

    【讨论】:

    • 我已经在解析 JSON,我正在控制台中获取结构,我只是不知道如何用它创建一个数组。
    • 好吧,如果您阅读我的问题,您会发现我已经在做这部分了。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-07-12
    • 2018-11-08
    • 2011-12-26
    • 2016-06-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多