Вставка json в обьект

147
18 марта 2019, 03:00

В данной функции я хочу добавить json из запроса в объект, добавить ему пару полей и послать в датабазу, а также вернуть в теле ответа.

 ctx.body = JSON.stringify(ctx.request.body)
    const newItem = {
      _id: id(),
      ...ctx.body,
      created: now().toISOString(),
      updated: null // TODO: maybe add number of views?
    }
    await col.insertOne(newItem)
    ctx.body = map(ctx.body)

К сожалению в датабазу и тело вместо корректного json приходит json который был разбит на поля по букве и поля пронумерованы. Stringify работает нормально, я проверил в дебаге, ошибки происходят в процессе копирования.

{
    "0": "{",
    "1": "\"",
    "2": "a",
    "3": "u",
    "4": "t",
    "5": "h",
    "6": "o",
    "7": "r",
    "8": "\"",
    "9": ":",
    "10": "\"",
    "11": "u",
    "12": "s",
    "13": "e",
    "14": "r",
    "15": "_",
    "16": "i",
    "17": "d",
    "18": "\"",
    "19": ",",
    "20": "\"",
    "21": "h",
    "22": "e",
    "23": "a",
    "24": "d",
    "25": "e",
    "26": "r",
    "27": "\"",
    "_id": "fd6783f5-c621-4cf1-9a58-f7e94d778aff",
    "created": "2018-10-29T18:44:12.382Z",
    "updated": null
}

Прошу помощи. Заранее благодарю.

Answer 1

Добавление парсера все решило. Итоговый результат который прекрасно работает.

    ctx.body = JSON.stringify(ctx.request.body)
    ctx.body = JSON.parse(ctx.body)
    const newItem = {
      _id: id(),
      ...ctx.body,
      created: now().toISOString(),
      updated: null // TODO: maybe add number of views?
    }
    await col.insertOne(newItem)
    ctx.body = map(ctx.body)
READ ALSO
Как сделать активную кнопку при выборе размера?

Как сделать активную кнопку при выборе размера?

Как удалить disabled из ссылки a после выбора любого размера?

130
Как получить определённые данные из toLocaleString?

Как получить определённые данные из toLocaleString?

У меня такой вопросКак получить данные из toLocaleString()?

183
SimpleCart: как вывести total или grandTotal через js

SimpleCart: как вывести total или grandTotal через js

Как в SimpleCart вывести total или grandTotal через documentwrite или что-то подобное? ЧТобы потом вставить в ссылку в href

141
Показать баланс перевода etherscan

Показать баланс перевода etherscan

Есть скрипт, он показывает сколько этериума было переданно в сумме с адреса юзера на мой смарт контрактЕсли смарт контракт написал в мейн...

235