如何从JSON数据文件中访问某些信息?是通过数组形式吗?

时间:2018-03-17 19:49:49

标签: javascript json

在以下JSON数据中,我想访问'lon'中的'lat''coord'。我知道data.coord会给我[ 'lon', 'lat' ],但我怎样才能获得属于每个的值?

这是我的JSON数据:

var data = {
    "coord": {
        "lon": 159,
        "lat": 35
    },
    ...
};

3 个答案:

答案 0 :(得分:1)

您可以像这样访问它们:



var data = { "coord":{ "lon":159, "lat":35 }, "weather":[ { "id":500, "main":"Rain", "description":"light rain", "icon":"https://cdn.glitch.com/6e8889e5-7a72-48f0-a061-863548450de5%2F10n.png?1499366021399" } ], "base":"stations", "main":{ "temp":22.59, "pressure":1027.45, "humidity":100, "temp_min":22.59, "temp_max":22.59, "sea_level":1027.47, "grnd_level":1027.45 }, "wind":{ "speed":8.12, "deg":246.503 }, "rain":{ "3h":0.45 }, "clouds":{ "all":92 }, "dt":1499521932, "sys":{ "message":0.0034, "sunrise":1499451436, "sunset":1499503246 }, "id":0, "name":"", "cod":200 };

console.log('Lon',data.coord.lon);
console.log('Lat',data.coord.lat);

//Also you can do that using object destructuring in es6 like this:

var {lon,lat} = data.coord;
console.log('Lon',lon);
console.log('Lat',lat);




Checkout MDN以获取有关对象和属性的更多信息: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Working_with_Objects

查看Object destructuring

答案 1 :(得分:1)

data.coord不会给你[ 'lon', 'lat' ]数组,而是会给你{ "lon": 159,"lat": 35 }个对象。

您可以获得他们的价值,就像获得任何对象的价值一样:data.coord.latdata.coord.lon

等等 var latitude = data.coord.lat; var longitude = data.coord.lon

修改

同样,对于天气,您可以使用data.weather访问天气,但需要注意的是天气是阵列。因此,您可以使用index = 0来获取第一个元素。

有效地,你写了,var myWeatherObject = data.weather[0]; // 0是第一元素的索引

同样,要访问各个天气属性,您可以使用: myWeatherObject.idmyWeatherObject.mainmyWeatherObject.descriptionmyWeatherObject.icon

答案 2 :(得分:0)

您还可以使用此语法data['coord']访问值。 使用此语法,您可以通过json文件搜索相应的密钥。

for(let key in json) {
 if(key==='coord'){
//do stuff
  }
}