javascript,将标签放在hashmap中以json格式转换

时间:2016-06-25 16:50:31

标签: javascript json hashmap

我有一个这样的散列图:

mapUltimos2Anhos: {"La Coruña":11,"Pamplona":2,"León":9,"Valencia":4,"Las Palmas de Gran Canaria":3,"Oviedo":3,"Salamanca":2,"Albacete":3}

但我需要将此代码转换为另一种JSON格式,以便在Google Geochart中使用;代码应该是:

[{"Ciudad": "La Coruña", "Clientes":11}, {"Ciudad":"Pamplona", "Clientes:2}, ...]

如何在第二个????

中转换第一种格式

2 个答案:

答案 0 :(得分:1)

您可以获取对象的所有键,然后迭代并返回带有新对象的数组。

var object = { mapUltimos2Anhos: { "La Coruña": 11, "Pamplona": 2, "León": 9, "Valencia": 4, "Las Palmas de Gran Canaria": 3, "Oviedo": 3, "Salamanca": 2, "Albacete": 3 } },
    result = Object.keys(object.mapUltimos2Anhos).map(function (k) {
        return { "Ciudad": k, "Clientes": object.mapUltimos2Anhos[k] };
    });

console.log(result);

答案 1 :(得分:0)

您可以使用for..in循环遍历对象,然后使用它的键和值将对象推送到数组:

var hash =  {"La Coruña":11,"Pamplona":2,"León":9,"Valencia":4,"Las Palmas de Gran Canaria":3,"Oviedo":3,"Salamanca":2,"Albacete":3}
var arr = [];
    
for (var prop in hash) {
  arr.push({'Ciudad': prop,'Clientes': hash[prop]});
}
    
console.log(arr);