我已成功访问请求中的数据到API。
我已将数据设置为var weatherData
如果我打印出weatherData,我会在这里得到这整个blob。
{" COORD" {" LON": - 79.42," LAT":43.7}"天气":[{& #34; ID" 701"主":"雾""描述":"雾""图标":" 50N"},{" ID" 500"主":"雨""描述& #34;:"光 雨""图标":" 10N"}],"基础":"站""主&#34 ;:{"温度":286.46"压力":1006,"湿度":100," temp_min":285.15&#34 ; temp_max":288.15},"能见度":1207,"风" {"速度":3.1"度&#34 ;: 240}"云" {"所有":90}&#34峰; dt":1509943080," SYS" {"类型":1," ID":3721,"消息":0.1665,"国家":" CA"&#34 ;日出":1509969642,"日落":1510005682}" ID":6167865,的"名称":"多伦多&#34 ; 下,"鳕鱼":200}
这个城市是我感兴趣的。 我尝试使用weatherData.name访问它,但它返回为undefined。我在这里做错了什么?
答案 0 :(得分:0)
只需添加一点,如果您无法弄清楚返回结果是JSON还是字符串,这将始终是一个很好的代码片段(实际上我将它包含在我的所有项目中)
它会尝试解析为JSON,如果失败,它将返回undefined
。
function tryJSON(x) {
try {
x = JSON.parse(x);
} catch (e) {}
if ((!!x) && (x.constructor === Object)) {
return x;
}
}
console.log(tryJSON('{ "apple": 10 }'));
console.log(tryJSON("{ :notJSON }"));
console.log(tryJSON({ orange: 5 }));