json键名中的双点

西蒙

我正在使用nodejs,并且试图访问一个json键,该键包含一个双点:

 "elements": [
    {
        "type": "node",
        "id": 122509567,
        "lat": 50.9772739,
        "lon": 8.0544817,
        "tags": {
            "addr:city": "Hilchenbach",
            "addr:country": "DE",
            "addr:housenumber": "6",
            "addr:postcode": "57271",
            "addr:street": "Bernhard-Weiss-Platz",
            "amenity": "cinema",
            "name": "Viktoria-Kino Dahlbruch",
            "start_date": "1952-05-01",
            "toilets:wheelchair": "yes",
            "wheelchair": "yes"
        }
    },
    {
        "type": "node",
        "id": 269951105,
        "lat": 50.8768216,
        "lon": 8.0214439,
        "tags": {
            "addr:city": "Siegen",
            "addr:country": "DE",
            "addr:housenumber": "31",
            "addr:postcode": "57072",
            "addr:street": "Sandstraße",
            "amenity": "cinema",
            "level": "2",
            "name": "Cinestar",
            "wheelchair": "limited"
        }
    },

我当前的函数如下所示:

async function createCustomCinemaJson (json) {
 try {
     const cinemas = {};

     for (let i = 0; i < json.elements.length; i ++) {
         if(json.elements[i].lat | json.elements[i].tags.addr & json.elements[i].tags.name) {
             console.log(json.elements[i]);
         } else {
             console.log('No Way')
         }
         //cinemas.push(genres[k].name)
     }

     return json

 } catch (e) {

     console.error(e);

 }
}

目前访问“ json.elements [i] .lat”或“ json.elements [i] .tags.name”没有问题,但是我如何才能访问“ addr:housenumber”或“ addr:city”?

查尔拉卡

只需使用括号符号和字符串作为键名即可访问此类值。您可以通过访问的任何对象值object["keyname"]

参见下面的例子

var json = JSON.parse(document.getElementById('json').value);
var city = json.elements[0].tags['addr:city'];
console.log(city);

// If you need to iterate the keys because you don't know the name
// you can use for( keyname in object )

var tags = json.elements[0].tags, name;
for(name in tags) {
   if(tags.hasOwnProperty(name)) {
      console.log(name, '=', tags[name]);
   }
}
<textarea id="json">
 {
 "elements": [
    {
        "tags": {
            "addr:city": "Hilchenbach",
            "addr:country": "DE",
            "addr:housenumber": "6",
            "addr:postcode": "57271",
            "addr:street": "Bernhard-Weiss-Platz"
        }
    }
  ]
}
</textarea>

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

从 JSON 中获取键名

来自分类Dev

ggplot中的双点

来自分类Dev

json-c中的键名

来自分类Dev

检查嵌套JSON中的键名

来自分类Dev

检查嵌套json中的键名

来自分类Dev

Ruby中的双点符号

来自分类Dev

从 JSON 响应中的键名中删除句点

来自分类Dev

在.json字典中编辑/重命名键名

来自分类Dev

在 Postgres 中获取 JSON 字段键名

来自分类Dev

如何从php的结果中获取json键名?

来自分类Dev

Delphi Map文件中的双点..

来自分类Dev

在iOS中从路径中删除点/双点

来自分类Dev

从结果php中删除点和双点

来自分类Dev

验证值是否在具有相同键名的Json数组中

来自分类Dev

在JQuery中如何从JSON字符串读取键名?

来自分类Dev

使用python / bash缩短json对象中的键名

来自分类Dev

将键名附加到 json 数组结果中的值

来自分类Dev

如何从json字符串中删除键名

来自分类Dev

使用 spring boot 动态更改 JSON 中字段的键名

来自分类Dev

ActionMailerNext双点或双句号

来自分类Dev

如何忽略Perl的readdir中的单点和双点条目?

来自分类Dev

Chrome解析URI中的双点的原因是什么?

来自分类Dev

Java中基于双点(单点除外)进行拆分

来自分类Dev

从键值对中获取键名

来自分类Dev

在wxWidgets中获取键名

来自分类Dev

如果JSON数据的数据键名称中包含“ /”,如何在javascript中获取json数据

来自分类Dev

如何通过jq从现有json中的值输出具有新键名的json

来自分类Dev

如何在不将其设为 json 数组的情况下替换 json 文件中的键名

来自分类Dev

获取重复的键名json jquery