JSON获取对象索引

JSON get object index

本文关键字:索引 取对象 获取 JSON      更新时间:2023-09-26

我有这个json文件(data.json):

{
  "country":[{
    "Russia":[
      "Voronezh",
      "Moscow",
      "Vorkuta"
  ],
    "United Kingdom":[
      "London"
  ]
  }],
  "countryCodes":[
    "ru",
    "uk"
  ]
}

以及这样的代码:

$.getJSON('data.json', function success(data){
  alert(data.country[0]);
});

这返回了"undefined"。但我想得到"俄罗斯",并有索引对象俄罗斯,我想得到的"沃罗涅日",不要使用"数据.国家.俄罗斯".

对不起我的英语。

如果我是你,我会重组JSON,使其看起来像这样:

var data = {
    "countries": [
        {
            "name": "Russia",
            "cities": [
                "Voronezh",
                "Moscow",
                "Vorkuta"
            ]
        }, 
        {
            "name": "United Kingdom",
            "cities": [
                "London"
            ]
        }
    ],
    "countryCodes": [
        "ru",
        "uk"
    ]
}
data.countries[0].name; //Russia
data.countries[0].cities[0]; //Voronezh

添加到ArgOn的答案中,他使用了点符号,还有一种方法可以获得答案,即使用方括号符号

var option = "countries";  (assign value to a variable)
data[option][0]["name"]; //Russia
data[option][0]["cities"][0]; //Voronezh
  • 点记法写起来更快,读起来更清楚
  • 方括号表示法允许访问包含特殊字符的属性,并允许使用变量选择属性