@oleg_templ
турист автостопщик - по ночам веб разработчик.

Горбатый json, не правильная конвертация в json,как обратиться к свойствам горбатого json?

На клиенте с помощью vue собираеться из введенных в поля данных собираеться один общий обьект для отправки на сервер(обьект представляет собой 4 обьекта,каждый с 5-ю свойствами.На сервере будут производиться расчеты беря данные из этих свойств).

Проблема в том что после конвертации обьекта в json для передачи сервер,обьект с 4 обьектами оборачиваеться в еще один обьект)) На сервере(nodejs) вот такие данные идут на запись в файл(не очень круто как по мне)
{
    "{\n    \"elOne\": {\n        \"dH\": \"\",\n        \"S\": \"\",\n        \"a\": \"\",\n        \"b\": \"\",\n        \"c\": \"\"\n    },\n    \"elTwo\": {\n        \"dH\": \"\",\n        \"S\": \"\",\n        \"a\": \"\",\n        \"b\": \"\",\n        \"c\": \"\"\n    },\n    \"elThree\": {\n        \"dH\": \"\",\n        \"S\": \"\",\n        \"a\": \"\",\n        \"b\": \"\",\n        \"c\": \"\"\n    },\n    \"elFour\": {\n        \"dH\": \"\",\n        \"S\": \"\",\n        \"a\": \"\",\n        \"b\": \"\",\n        \"c\": \"\"\n    }\n}": ""
}

а хотелось бы видеть нечто такое.
{
"elOne": { "dH": "", "S": "", "a": "", "b": "", "c": "" }, "elTwo": { "dH": "", "S": "", "a": "", "b": "", "c": "" }, "elThree": { "dH": "", "S": "", "a": "", "b": "", "c": "" }, "elFour": { "dH": "", "S": "", "a": "", "b": "", "c": "" }
}
код сервера:
app.post("/full", urlencodedParser, function (req, res) {
    if(!req.body) return res.sendStatus(400);
    // преобразуем данные в json
    // тут добавляются всякие /
  var str = JSON.stringify(req.body);
    // записываем данные в json
  fs.writeFileSync('./calc/data_full.json', str); 
});


Вопрос: Как обратиться к элементам-свойствам такого горбатого json,как избавиться на сервере от "/","/n" при конвертации данных с клиента(кстати если не конвертировать на сервере ещё разок в json после конвертации на клиенте(на клиенте он данные тоже конвертируються в json), то выдает такое
TypeError: Cannot convert object to primitive value
    at Object.parse (native)
)
  • Вопрос задан
  • 365 просмотров
Пригласить эксперта
Ответы на вопрос 1
yellow79
@yellow79
Senior Software Engineer
а зачем вы делаете JSON.parse(req.body)? В req.body итак уже объект, вам надо делать JSON.stringify перед записью
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы