代码之家  ›  专栏  ›  技术社区  ›  Myronaz

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

  •  0
  • Myronaz  · 技术社区  · 6 年前

    所以我对Node.js非常陌生,我尝试的是使用OpenWeatherMap收集天气数据,然后将它们打印到控制台。。。然而,我遇到了一个奇怪的问题,我只是不能解决,尽管数小时的研究

    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);
        })
    

    1 回复  |  直到 6 年前
        1
  •  0
  •   Nanne    6 年前

    Weather是一个数组,因此不应该“去掉括号”,而应该像从数组中获取数据一样检索数据(确实如此)。

    你要求 main temp 部分在天气数组中,但您希望这些部分来自数组中的第一个元素。参见示例。 https://www.w3schools.com/js/js_json_arrays.asp