Итак, у меня есть этот объект JSON, который мне нужно преобразовать в строку и отправить в мою базу данных SQL с помощью JavaScript. Пакет узла — «mysql». Объект JSON представляет собой массив объектов с переменным количеством ключей и выглядит следующим образом:
{
array:
[
{"title": "Lorem ipsum dolor sit amet",
"body": "Lorem ipsum dolor sit amet: <a href=\ "https://www.google.com/">'Lorem ipsum dolor sit amet, consectetur adipiscing elit'</a>
The future of aviation doesn't necessarily involve existing aircraft..."
}
],
[...],
[...]
}
Я разбираю его, используя следующие методы:
let values = [];
let elements = [];
for (let i = 0; i < array.length; i++) {
values = [];
for (let key in array[i]) {
values.push(`"${array[i][key]}"`)
}
elements.push(`(${values.join(', ')})`)
}
// pushing elements and columns into an sql query
let sql = `INSERT INTO table (columns) VALUES ${elements.join(', ')}`
Когда я пытаюсь запросить строку, она возвращает следующую ошибку:
code: 'ER_PARSE_ERROR',
errno: 1064,
sqlMessage: "You have an error in your SQL syntax; check the manual ...",
sqlState: '42000',
Я обвиняю кавычки и апострофы, поскольку этот метод синтаксического анализа работал с другим объектом JSON, который у меня был. Как решить эту проблему?
Спасибо! Но как бы вы разобрали его после преобразования объекта в строку? Я не очень понимаю твое решение. Я работал с объектом JSON для извлечения нескольких значений, так как мне нужно поместить ключи «заголовок» и «тело» в качестве столбцов таблицы, а их значения — в виде значений таблицы.



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Вы должны обрабатывать сериализацию вашего объекта json, используя метод JSON.stringify(). Вам не нужно писать свою собственную функцию для этого
Точно так же для десериализации используйте JSON.parse(), чтобы преобразовать вашу строку обратно в объект JSON.
Ты прав, извини. Я хотел бы опубликовать исходный файл JSON в открытом доступе, но по соображениям конфиденциальности мне пришлось заменить его.