OpeStreetMap API以下列形式(javascript语法)为我提供标签:
[{key: 'theKey1', value: 'theValue1'}, {key: 'theKey2', value: 'theValue2'} /* and so on*/];
有没有办法通过密钥获取值而不迭代所有标签?
答案 0 :(得分:2)
没有。每个序列化格式(XML,JSON,js文字,无论什么)都需要逐步读取(迭代),直到找到所需的键。这个迭代可能发生在解析步骤中或者在访问解析的数据结构时,但是没有办法解决它。
如果您评估js文字或JSON.parse
等效的JSON字符串,则需要将结果数组循环以查找特定键。但是,您可以通过迭代将其转换为键值查找结构(对象)。
如果OSM api允许您明确搜索它,您将只能直接访问该密钥,以便它是唯一的响应。
答案 1 :(得分:0)
你到底想要做什么?除main API(主要用于编辑,而不是用于检索数据!)之外,还有其他一些返回OSM数据的API。例如,Overpass API有一个非常广泛的query language,它允许你做很多很酷的事情,并创建复杂的查询来检索特定的数据。