我有一个这样的散列图:
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}, ...]
如何在第二个????
中转换第一种格式答案 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);