Разбор массивов в req.body при node js express проблем - PullRequest
0 голосов
/ 24 февраля 2020

Я получаю массив в теле запроса, например (метод Get):

Array(1)[
0: {BuildNumber: ""10.0.0.10""}
]

Я хочу передать значение buildNumber в запрос.

 router.get("/GetTfsItem",function(req,res,next){

    console.log( "param   :" + req.body);

    }

Когда я пытаюсь print req.body показывает param: [object Object]

, и если я пытаюсь напечатать req.body.BuildNumber, он отображается как неопределенный.

Пожалуйста, помогите мне решить эту проблему

Ответы [ 2 ]

0 голосов
/ 24 февраля 2020

Вы можете проанализировать тело JSON, используя express middleware:

const express = require('express')
const app = express()

app.use(express.json()) // << This line

app.get('/GetTfsItem', function(req, res) {
  console.log(req.body)
})

app.listen(3000)

Теперь, если вы отправляете запрос с телом JSON, например:

GET /GetTfsItem HTTP/1.1
Host: localhost:3000
Content-Type: application/json

{
    "some": [ "foo", "bar" ]
}

Тогда console.log(req.body.some[0]) выдаст foo

0 голосов
/ 24 февраля 2020

Ваш req.body является массивом объектов, а не просто объектов, поэтому вам нужно l oop через это:

router.get("/GetTfsItem", function(req, res, next) {
  req.body.forEach((obj) => {
    console.log("param: ", obj.BuildNumber);
  });
})
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...