Json.map не является функцией

Santhosh Veer спросил: 31 июля 2018 в 09:56 в: json

json.map не является функцией - Получение этой ошибки при использовании Node-fetch

Метод GET

Результат выборки JSON

{"status":200,"email":"email@example.com","domain":"example.com","mx":false,"disposable":false,"alias":false,"did_you_mean":null,"remaining_requests":99}

Я хочу напечатать это в таблице CLI узла

    const printContent = json => {
    console.log()      const group = json.map(g => [
        g.status,
        g.email
      ])      const table = new Table({
        head: ["Name", "Email"],
        colWidths: [20, 20]
      })      table.push(...group)
      console.log(table.toString())
  }

2 ответа

Есть решение
Steven Spungin ответил: 31 июля 2018 в 10:03
Карта

работает только для массивов. Является ли JSON единственным объектом? Если это так, попробуйте:

  const group = [json].map(g => [
    g.status,
    g.email
  ])

Это вернет массив из двух элементов с вашим сопоставленным объектом.

Если вы хотите объект, попробуйте:

const group = Object.assign({}, {status:g.status, email:g.email}) 
Santhosh Veer ответил: 31 июля 2018 в 10:03
Спасибо отлично, это работает :)
Dajer ответил: 31 июля 2018 в 10:09

Вам нужно сначала проанализировать JSON, чтобы получить объект JS. Однако функция map () работает с массивами. Я бы просто сделал это без карты, так как вы не получаете массив:

let obj = JSON.parse(json);
const group = [obj.status, obj.email];