Реагировать на собственное хранилище sqlite, конвертировать значение json, хранящееся в базе данных, обратно в объект jaJavascript

Форум по Javascript
Ответить Пред. темаСлед. тема
Anonymous
 Реагировать на собственное хранилище sqlite, конвертировать значение json, хранящееся в базе данных, обратно в объект ja

Сообщение Anonymous »

Я сохраняю объект JavaScript в формате JSON в своей базе данных SQLite
const someData = {
details: {id: 1, name: 'Hi', userId: 2, email: 'aaa@aaa.com'}
}

const data = JSON.stringify(someData)

const insertQuery = `INSERT OR REPLACE INTO ${tableName} (answer) VALUES (${data});`
db.executeSql(insertQuery)

Позже, когда я извлекаю все сохраненные данные, он возвращает массив объектов JSON, но всякий раз, когда я пытаюсь использовать JSON.parse в массиве, я получаю предупреждение
Синтаксическая ошибка: ошибка анализа JSON: неожиданный символ: o

Мой столбец таблицы SQLite имеет тип TEXT
Мне нужно преобразовать каждый элемент результатов, когда я выполняю запрос SQLite Select, обратно в объект JavaScript.
В настоящее время результаты моего запроса Select выглядят следующим образом
В настоящее время результаты моего запроса Select выглядят следующим образом
р>
[
{"details": "{\"id\": 0,\"name\": \"SOME NAME\",\"userId\":2,\"email\": \"someEmail\"},
{\"details\": "{\"id\": 1,\"name\": \"SOME NAME 1\",\"userId\":2,\"email\": \"someEmail\"},
{\"details\": "{\"id\": 2,\"name\": \"SOME NAME 2\",\"userId\":2,\"email\": \"someEmail\"},
]


Я попробовал перебрать массив, затем преобразовать каждый из них с помощью JSON.stringify(), а затем JSON.parse(), но формат все равно тот же
const a = []
results.forEach((r) => {
const s = JSON.stringify(r)
const p = JSON.parse(s)

a.push(p)

console.log(a) // Shows it still same as JSON array above
})


Подробнее здесь: https://stackoverflow.com/questions/793 ... javascript
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Javascript»