使用Array.each从JSON查询获取数据到javascript数组中

时间:2011-08-15 06:03:39

标签: arrays json multidimensional-array mootools

我有Google Geocoder请求的结果,我需要一个值来形成另一个数组,如下所示:

var data = {};

Array.each(results, function(loc)
{
    data.['value'] = loc.formatted_address;
}

我需要数据然后包含这个结构:

data = [
    {value: 'location one'}, 
    {value: 'location two'}, 
    {value: 'location three'}
];

此处查询的JSON结果示例:

http://maps.googleapis.com/maps/api/geocode/json?address=new%20york&sensor=false

在上面的示例查询的情况下,我想要的输出是:

data = [
    {value: 'New York, NY, USA'}, 
    {value: 'Manhattan, New York, NY, USA'}
];

我对Array.each函数中需要发生的事情感到很困惑。

任何帮助都会很棒,谢谢。

1 个答案:

答案 0 :(得分:1)

假设结果包含上面JSON对象中的结果数组:

var data = [];

for(i = 0; i < results.length; i++)
    data.push({'value': results[i].formatted_address});

如果结果包含整个JSON对象,那么你需要写:

results = results.results;
在那个循环之前