Преобразовать yaml в JSON return ["object Object"] - PullRequest
1 голос
/ 04 мая 2020

Я создаю бэкэнд-сервис для преобразования YAML в JSON. Однако он возвращает ["объект-объект"].

Запрос на публикацию сообщения почтальона в тексте: name: wf1

Код: import {safeLoad} из 'js -yaml'

app.post('/,
    function (req, res) {
        res.send(JSON.stringify(safeLoad(req.body)))
}
)

Возврат ["object Object"]

Я ожидаю, что он вернет JSON формат name: wf1.

Ответы [ 2 ]

1 голос
/ 04 мая 2020

Вам необходимо убедиться, что тело фактически анализируется как необработанный текст, если вы собираетесь отправлять текст (например, Content-Type: text / plain) в вашем запросе. Использование функции text - из body-parser должно исправить эту проблему:

app.use(bodyParser.text())
app.post('/', (req, res) => {
    res.send(JSON.stringify(safeLoad(req.body)));
})

Обратите внимание, что если вы собираетесь отправить фактический json обратно клиенту, который вам нужен чтобы изменить это на:

app.post('/', (req, res) => {
    res.json(safeLoad(req.body));
})
0 голосов
/ 04 мая 2020

Прежде всего, согласно js -yaml , safeLoad функция принимает только String как тип ввода, но req.body должна возвращаться как объект. Может быть, указание на конкретный ключ может работать на вас.

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