Конфликт кавычек в JS при разборе в MySQL

Итак, у меня есть этот объект 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 в открытом доступе, но по соображениям конфиденциальности мне пришлось заменить его.

qurquru 24.12.2020 14:07

Спасибо! Но как бы вы разобрали его после преобразования объекта в строку? Я не очень понимаю твое решение. Я работал с объектом JSON для извлечения нескольких значений, так как мне нужно поместить ключи «заголовок» и «тело» в качестве столбцов таблицы, а их значения — в виде значений таблицы.

qurquru 24.12.2020 14:23
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
1
2
112
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

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

Точно так же для десериализации используйте JSON.parse(), чтобы преобразовать вашу строку обратно в объект JSON.

Другие вопросы по теме