在以下JSON数据中,我想访问'lon'
中的'lat'
和'coord'
。我知道data.coord
会给我[ 'lon', 'lat' ]
,但我怎样才能获得属于每个的值?
这是我的JSON数据:
var data = {
"coord": {
"lon": 159,
"lat": 35
},
...
};
答案 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
答案 1 :(得分:1)
data.coord
不会给你[ 'lon', 'lat' ]
数组,而是会给你{ "lon": 159,"lat": 35 }
个对象。
您可以获得他们的价值,就像获得任何对象的价值一样:data.coord.lat
和data.coord.lon
等等
var latitude = data.coord.lat;
var longitude = data.coord.lon
修改强>
同样,对于天气,您可以使用data.weather
访问天气,但需要注意的是天气是阵列。因此,您可以使用index = 0来获取第一个元素。
有效地,你写了,var myWeatherObject = data.weather[0];
// 0是第一元素的索引
同样,要访问各个天气属性,您可以使用:
myWeatherObject.id
,myWeatherObject.main
,myWeatherObject.description
和myWeatherObject.icon
答案 2 :(得分:0)
您还可以使用此语法data['coord']
访问值。
使用此语法,您可以通过json文件搜索相应的密钥。
for(let key in json) {
if(key==='coord'){
//do stuff
}
}