Получите одно значение ключа из JSON с помощью Node - PullRequest
0 голосов
/ 25 мая 2020

Я использую RESTFUL API для получения некоторых JSON данных, это код:

const request= require('request');

const options = { 
    url: 'https://myurl.com/',
    headers: {
        'x-functions-key': 'mykey'
    }
};

request.get(options, (err, response, body) =>{
    if(err){
        console.log("Error!")
    }

    const obj = JSON.parse(body);

    //console.log(obj.id);
    console.log(body);

});

Это response из console.log, если я использую только body параметр:

{
    "id": "19678u36-au71-4112-0057-950jjkca61d1",
    "phone": "",
    "address": "{\"cep\":\"00000-000\",\"city\":\"Belo Horizonte\",\"state\":\"MG\",\"country\":\"Brasil\",\"street\":\"My Street\",\"district\":\"My District\",\"number\":\"000\",\"complement\":\"000\"}",
    "items": "{\"tax\":12,\"amount\":2,\"items\":[{\"type\":\"NILO\",\"name\":\"Nilo Zack\",\"quantity\":1}]}",
    "userEmail": "marcel@onboardmobility.com",
    "userData": "{\"name\":\"User Name\",\"document\":\"000.000.000-00\",\"phone\":\"\",\"email\":\"user@email.com\"}",
    "order": "{\"tid\":\"ch_5PXxuyoqw4\",\"notes\":\"XQ22ARP\",\"status\":2}",
    "createdAt": "2020-05-05T17:50:45.707Z",
    "updatedAt": "2020-05-05T17:50:45.708Z"
  },

Я хочу напечатать только клавишу id, но когда я запускаю console.log(obj.id), я получаю ответ undefined от консоли. Любые идеи? Возможно, я неправильно разбираю данные JSON, не знаю. Спасибо за любую помощь!

1 Ответ

1 голос
/ 25 мая 2020

Исходя из того факта, что в вашем body есть ,, я предполагаю, что ответ - это не объект, а массив.

request.get(options, (err, response, body) => {
    if (err) {
        console.log("Error!")
    }

    const items = JSON.parse(body);
    console.log(items[0].id);
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...