javascript - JS解析到MySQL时引用冲突
问题描述
所以我有这个 JSON 对象,我需要解析成一个字符串并使用 JavaScript 发送到我的 SQL 数据库。节点包是“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.stringify()
方法处理 json 对象的序列化。您无需为此编写自己的函数
同样对于反序列化使用JSON.parse()
将您的字符串转换回 JSON 对象
推荐阅读
- java - MySQL 更新需要更多时间与并发用户命中
- c# - 选择
- 来自 div/ul 的元素
- java - 我能否在 Azure 上为 Java 应用服务实施无代码 Application Insights?
- java - IntelliJ - Java - 从 github 拉取后缺少 src 文件夹
- angular - CanDeactivate 在 iFrame 中不触发
- r - R - 切割程序 - 如果长度相等,为什么中断和标签会产生错误消息?
- powershell - 批量创建新联系人并添加到发行版
- python - 在 Debian 测试中使用旧(?) Python3 模块安装 Cantera 以运行 SCons 脚本时遇到问题
- reactjs - Ant Design 表行类名多个条件
- reactjs - 您可能需要适当的加载器来处理此文件类型,目前没有配置加载器来处理此文件 - Webpack