Как напечатать данные JSON в nodejs - PullRequest
0 голосов
/ 30 ноября 2018

Как напечатать JSON в nodejs json:

  {"errors":[
    {"location":"body","param":"email","value":"q","msg":"must be a Email"},{"location":"body","param":"password","value":"q","msg":"5 chars long"}]
    }

моя функция

function handleResponse(response) {

        return response.text().then( text => {
            console.log(text);
        });

        return Promise.reject(response);

}

console.log (текст) создает данные выше json, как получить только msg и напечатать вмои реактивы

1 Ответ

0 голосов
/ 01 декабря 2018

Надеюсь, я понял вопрос.

Если вы хотите получить только поле сообщения из ответа JSON вашего сервера, вам просто нужно map ваш массив следующим образом:

function handleResponse (textRes) {
  var jsonRes = {}
  var messages = []

  try {
    jsonRes = JSON.parse(textRes)
  }
  catch (e) {
    return Promise.reject(e)
  }

  messages = jsonRes.errors.map(function (error) {
    return error.msg
  })

  return Promise.resolve(messages)    
}

В любом случае, вы можете использовать пакет npm для автоматического анализа ответа.Я предлагаю перекрестная выборка :

const fetch = require('cross-fetch')
const API_ENDPOINT = '/api/v1/test-endpoint'

function fetchData () {
  return fetch(API_ENDPOINT)
    .then(function (res) {
      return res.json()
    })
    .then(function (jsonRes) {
      messages = jsonRes.errors.map(function (error) {
        return error.msg
      })

      return Promise.resolve(messages)    
    })
    .catch(function (err) {
      //  Catch the error here or let the reject propagate
      //  to the parent function
    })

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