如何去掉 JSON 数组中的括号?

How to get rid of brackets in a JSON array?

所以我对 Node.js 很陌生,我想做的是使用 OpenWeatherMap 收集天气数据,然后将它们打印到控制台...但是我已经 运行 进入一个我无法解决的奇怪问题,尽管进行了数小时的研究

所以,从JSON读取天气数据很简单,除了一组项目,这里有一张图片: Console

如您所见,它读取 'undefined 12.5' 时温度正常,但实际描述未定义,即使它就在那里,看看 OpenWeatherMap 写的 JSON 文件,那里有点奇怪

{
"coord": {
"lon": -1.61,
"lat": 54.98
},
"weather": [
{
"id": 876,
"main": "Haze",
"description": "haze",
"icon": "50d"
}
],
"base": "stations",
"main": {
"temp": 12.2,
"pressure": 1014,
"humidity": 71,
"temp_min": 11,
"temp_max": 14
}

如您所见,天气项目由于某种原因带有括号,手动删除它们可以解决问题并且可以完美读取它们,但是,我该如何解决问题以使其一开始就不存在?我究竟做错了什么?如果你能想到任何解决这个问题的方法

这就是我收集和使用数据的方式:

        fs.writeFile('uk.json', JSON.stringify(currentWeather, null, 2), (error) => {
        if (error) throw err;
        console.log('Weather data written');
        var uk = require('./uk.json');
        console.log(uk.weather.main + ' ' + uk.main.temp);
    })

我是 Node.js 的新手,我唯一的编程经验是 Visual Basic,所以请不要对我太技术化,如果可能的话,尽量向新手解释得很好并且容易理解,感谢您的理解

Weather 是一个数组,因此您应该像从数组中获取数据一样检索您的数据,而不是 "removing the brackets"(您确实这样做了)。

您要求天气数组中的 maintemp 部分,但您想要数组中第一个元素中的那些部分。参见例如https://www.w3schools.com/js/js_json_arrays.asp