Как избавиться от скобок в массиве JSON? - PullRequest
0 голосов
/ 10 октября 2018

так что я довольно новичок в Node.js, я пытаюсь использовать OpenWeatherMap для сбора данных о погоде, а затем выводить их на консоль ... однако я столкнулся со странной проблемой, которую япросто не могу решить, несмотря на часы исследования

Итак, чтение данных о погоде из JSON достаточно просто, за исключением одной группы элементов, вот картинка: Консоль

Как вы можете видеть, он читает 'undefined 12.5', в то время как он получает хорошую температуру, хотя фактическое описание не определено, даже если оно прямо там, если посмотреть на файл JSON, который написал OpenWeatherMap, там есть что-то странное

{
"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, поэтому, пожалуйста, не вдавайтесь в подробности со мной, постарайтесь объяснить это легко и понятно для новичков, если это возможно, спасибо за ваше понимание

1 Ответ

0 голосов
/ 10 октября 2018

Погода - это массив, поэтому вместо «снятия скобок» вы должны извлекать данные, как если бы вы получали их из массива (что вы и делаете).

Вы запрашиваете часть main и temp в массиве погоды, но вы хотите, чтобы эти части были у первого элемента в массиве.см. например https://www.w3schools.com/js/js_json_arrays.asp

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...