gpt4 book ai didi

javascript - JSON 文件仅在键存在时才使用值

转载 作者:行者123 更新时间:2023-12-01 02:42:31 25 4
gpt4 key购买 nike

我正在从立交桥调用中检索 OSM Json,以获取必须保存在数据库中的功能列表。由于数据彼此之间有很大不同(例如,其中一些数据确实有一个名为“addr:city”的标签,而另一些则没有),我想检查一个 key 是否存在,并且仅在这种情况下保存相应的值。我只找到this问题但这不是我的情况,因为我不知道一个元素将具有哪些键,哪些不具有,并且由于我正在处理大量数据,所以我真的无法一一检查元素当然我不能为每种情况都写一个 IF。
有办法解决这个问题吗?我在循环元素时正在考虑“如果键有空值,则忽略它”,但我不知道是否存在类似的东西

编辑:

这是我的查询:

https://overpass-api.de/api/interpreter?data=[out:json][timeout:25];(node[~%22^(tourism|historic)$%22~%22.%22](44.12419,%2012.21259,%2044.15727,%2012.27696);way[~%22^(tourism|historic)$%22~%22.%22](44.12419,%2012.21259,%2044.15727,%2012.27696););out%20center; 

这是我用来在 firebase 上保存数据的代码:

results.elements.forEach(e=>{


var ref = firebase.database().ref('/point_of_interest/');
var key = firebase.database().ref().child('point_of_interest').push().key;
var updates = {};
var data = {
città: e.tags["addr:city"],
tipologia: e.tags["amenity"],
indirizzo: e.tags["addr:street"],
nome: e.tags["name"],
lat: e.lat,
lon: e.lon

}
updates['/point_of_interest/'+key] = data;
firebase.database().ref().update(updates);
})

“results”是json格式的响应

最佳答案

你可以使用类似的东西:

    var attrs = ["addr:city", "amenity", "addr:street", "name"];
var labels = ["città", "tipologia", "indirizzo", "nome"]
var data = { };

attrs.forEach((a, i) => {
if (e.tags[a]) { data[labels[i]] = e.tags[a]; }
});

如果您可以从某处查询属性名称和标签,您甚至可以使其更加动态。

关于javascript - JSON 文件仅在键存在时才使用值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47471766/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com