2012-04-15 8 views
0

У меня есть объект JSON в JQuery, который выглядит как:Jquery объединить два поля в объекте JSON

["state":"06","population":9},{"state":"32","population":13},{"state":"01","population":4}, 

Я хочу закончить с объектом JSON, как:

{"06":9,"32":13,"01":4} 

Как бы я сделать это в JQuery?

Спасибо!

+0

перебрать массив и скопировать значения в новый объект? На самом деле не вижу проблемы. Конечно, вы должны сначала разобрать JSON на массив JavaScript. Взгляните на Руководство по JavaScript MDN, чтобы узнать основы работы с массивами и объектами: https://developer.mozilla.org/en/JavaScript/Guide –

ответ

1

вы бы хотели использовать метод .each. Если my_array имеет исходный массив, вы можете описать, это надо сделать:

var result = {}; 
$.each(my_array, function(index, val) { 
    result[val.state] = val.population; 
}); 
+0

('result' заканчивается выводом, который вы описываете) – rjz

+0

Вместо аргументов 'index, val' вы можете опустить их и использовать' result [this.state] = this.population'. Я не уверен, что это лучше, но я просто решил, что опубликую это для полноты. – Reid

+0

Это хороший момент. Я привык использовать короткий синтаксис только при итерации по коллекции jQuery и последующего стиля 'forEach' (хотя в обратном - никогда не получал этого!) Для других типов. – rjz

Смежные вопросы