Передача данных типа массива через почтальона - PullRequest
0 голосов
/ 03 мая 2020

У меня есть простой способ записи в express.

const bodyParser = require('body-parser');
app.use(bodyParser.urlencoded({extended:true}));

app.post('/addPerson',function(req,res){
    const name = req.body.name;
    const age = req.body.age;
    const address = req.body.address;

    console.log(address);
});

Я пытаюсь ввести данные через почтальона. Я хочу, чтобы поле адреса было массивом объектов, например, так -

address = [{name: 'apple, color:' red '}]

, но все поля пропущены через почтальона являются строками, поэтому это выглядит так -

address = '[{name:' apple, color: 'red'}] '

Как я могу получить массив из этого? Я использую метод xxx- www-form-urlencoded.

Ответы [ 2 ]

0 голосов
/ 03 мая 2020

Очевидно, строка -

app.use(bodyParser.urlencoded({extended:true}));

не позволяла приложению использовать необработанный json ввод через почтальона. Итак, мне пришлось добавить новую строку -

app.use(bodyParser.json());

Это позволяет нам использовать исходный формат json ввода почтальона вместо x- www-form-urlencoded.

Примечание: -Это перезаписывает эффект urlencoded, и вы можете использовать только один. Либо в кодировке урлен, либо json.

0 голосов
/ 03 мая 2020

Вы можете передать данные массива для вызова почтальона в Body > raw и затем выбрать JSON из выпадающего списка в конце enter image description here

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