在天气情况下,如何访问方括号内的数据?

时间:2018-12-25 05:12:19

标签: javascript json

我想访问weather子类别中的数据。但是当我尝试这样做时,我得到的错误是不确定的。 JSON格式在这里错误吗?如果没有,我该如何访问数据?

{ coord: { lon: -0.13, lat: 51.51 },
  weather: [ { id: 701, main: 'Mist', description: 'mist', icon: '50n' } ],
  base: 'stations',
  main: 
   { temp: 1.14,
     pressure: 1035,
     humidity: 100,
     temp_min: -2,
     temp_max: 4 },
  visibility: 8000,
  wind: { speed: 1.5, deg: 70 },
  clouds: { all: 0 },
  dt: 1545711600,
  sys: 
   { type: 1,
     id: 1414,
     message: 0.0034,
     country: 'GB',
     sunrise: 1545725128,
     sunset: 1545753355 },
  id: 2643743,
  name: 'London',
  cod: 200 }

3 个答案:

答案 0 :(得分:0)

这是一个其中包含一个元素的数组,该数组的第一个元素是索引0,可以像weather [0]一样进行访问;

const data = { coord: { lon: -0.13, lat: 51.51 },
  weather: [ { id: 701, main: 'Mist', description: 'mist', icon: '50n' } ],
  base: 'stations',
  main: 
   { temp: 1.14,
     pressure: 1035,
     humidity: 100,
     temp_min: -2,
     temp_max: 4 },
  visibility: 8000,
  wind: { speed: 1.5, deg: 70 },
  clouds: { all: 0 },
  dt: 1545711600,
  sys: 
   { type: 1,
     id: 1414,
     message: 0.0034,
     country: 'GB',
     sunrise: 1545725128,
     sunset: 1545753355 },
  id: 2643743,
  name: 'London',
  cod: 200 };
  
  
  console.log(data.weather[0].id);

答案 1 :(得分:0)

我被带到一个有用的网站是http://jsonviewer.stack.hu/ 我将其用于很多最初的JSON故障排除。此JSON接缝格式正确。请问您最初尝试过什么。尽管如此,这是我期望访问值的方式:

console.log(data.weather)

我已在浏览控制台工具中确认了这一点。我用您提供的JSON分配了变量数据。

答案 2 :(得分:0)

将json数据存储在变量中,就像在数组中一样使用天气的访问数据。

const data = { 
  coord: { lon: -0.13, lat: 51.51 },
  weather: [ { id: 701, main: 'Mist', description: 'mist', icon: '50n' } ],
  base: 'stations',
  main: 
   { temp: 1.14,
     pressure: 1035,
     humidity: 100,
     temp_min: -2,
     temp_max: 4 },
  visibility: 8000,
  wind: { speed: 1.5, deg: 70 },
  clouds: { all: 0 },
  dt: 1545711600,
  sys: 
   { type: 1,
     id: 1414,
     message: 0.0034,
     country: 'GB',
     sunrise: 1545725128,
     sunset: 1545753355 },
  id: 2643743,
  name: 'London',
  cod: 200 }

console.log(data.weather[0]);