带有{key:'the Key',value:'Value'}对象的数组

时间:2013-08-15 11:46:18

标签: javascript arrays api object openstreetmap

OpeStreetMap API以下列形式(javascript语法)为我提供标签:

[{key: 'theKey1', value: 'theValue1'}, {key: 'theKey2', value: 'theValue2'} /* and so on*/];

有没有办法通过密钥获取值而不迭代所有标签?

2 个答案:

答案 0 :(得分:2)

没有。每个序列化格式(XML,JSON,js文字,无论什么)都需要逐步读取(迭代),直到找到所需的键。这个迭代可能发生在解析步骤中或者在访问解析的数据结构时,但是没有办法解决它。

如果您评估js文字或JSON.parse等效的JSON字符串,则需要将结果数组循环以查找特定键。但是,您可以通过迭代将其转换为键值查找结构(对象)。

如果OSM api允许您明确搜索它,您将只能直接访问该密钥,以便它是唯一的响应。

答案 1 :(得分:0)

你到底想要做什么?除main API(主要用于编辑,而不是用于检索数据!)之外,还有其他一些返回OSM数据的API。例如,Overpass API有一个非常广泛的query language,它允许你做很多很酷的事情,并创建复杂的查询来检索特定的数据。