将对象数组转换为对象

时间:2015-01-08 12:25:02

标签: javascript php jquery arrays json

尝试使用Mapael Jquery插件。 插件需要对象来绘制地图元素。

我的PHP代码返回json编码的对象数组:

[{
    "Aveiro":{
        "latitude":40.6443,
        "longitude":-8.6455,
        "value":10,
        "tooltip":{
            "content":"test"
         }
    }
 },{
    "Lisbon":{
        "latitude":38.7167,
        "longitude":-9.1333,
        "value":10,
        "tooltip":{
            "content":"test"
        }
    }
 },{
    "Entroncamento":{
        "latitude":39.2333,
        "longitude":-9.0833,
        "value":10,
        "tooltip":{
            "content":"test"
        }
    }
 }]   

如果我通过json.parse解析此数组,我会在示例[0]->[Aveiro],[1]->[Lisbon],[2]->[Entroncamento]中接收带有数字键的对象。

如何使用没有数组索引的键[Aveiro],[Lisbon],[Entroncamento]来获取对象?

如果我只返回一个对象 - 我收到带有命名键的对象,一切正常。

1 个答案:

答案 0 :(得分:2)

您可以reduce JSON.parse给出的数组var result = parsed.reduce(function (output, value) { return $.extend(output, value); }, {});

{{1}}

JSFiddle