В моем экспресс-приложении есть следующие настройки:
const express = require('express');
const bodyParser = require('body-parser');
const cors = require('cors');
const app = express();
// Automatically parse request bodies
app.use(bodyParser.json());
// Automatically allow cross-origin requests
app.use(cors({ origin: true }));
app.post('/', (request, response) => {
// var message = request.body.message;
// message.sent_by_admin = true;
// The above two lines create an error.
console.log(request.body);
}
Ошибка, которую я получаю из двух закомментированных строк, такова:
TypeError: Cannot set property 'sent_by_admin' of undefined
Когда я печатаю request.body
, я получаю в консоли следующее:
{ '{\n "message": {\n "text": "hello"\n },\n "recipient": {\n "id": "123"\n },\n "sender": {\n "id": "456"\n },\n "timestamp": 1557949612342\n}': '' }
JSON, который я послал, таков:
{
"message": {
"text": "hello"
},
"recipient": {
"id": "123"
},
"sender": {
"id": "456"
},
"timestamp": 1557949612342
}
Как мне преобразовать request.body
в надлежащий JSON, чтобы я мог добавлять / удалять атрибуты данных и сохранять их? Спасибо за любую помощь.