Javascript 如何将包含多个对象的JSON数据中的值插入MySQL中的行中?
我可以用一个对象将JSON数据中的值存储到MySQL数据库中,如下所示:Javascript 如何将包含多个对象的JSON数据中的值插入MySQL中的行中?,javascript,mysql,sql,node.js,json,Javascript,Mysql,Sql,Node.js,Json,我可以用一个对象将JSON数据中的值存储到MySQL数据库中,如下所示: var data = '{"sensorvalue":"96"}' const jsdata = JSON.parse(data); connection.query("INSERT INTO `nodes`(`sensorvalue`) VALUES ('"+jsdata.sensorvalue+"')", (err, res) =>
var data = '{"sensorvalue":"96"}'
const jsdata = JSON.parse(data);
connection.query("INSERT INTO `nodes`(`sensorvalue`) VALUES ('"+jsdata.sensorvalue+"')", (err, res) => {
console.log("counter record inserted");
});
输出:
身份证件
传感器值
1.
96
这是一个数组,你需要在上面循环 您也不应该将值直接替换到SQL中,而应该使用参数化查询
const jsArray = JSON.parse(data);
jsArray.forEach(jsdata =>
connection.query("INSERT INTO `nodes`(`sensorvalue`) VALUES (?)", [jsdata.sensorvalue], (err, res) => {
console.log("counter record inserted");
})
);
node.js MySQL连接器还允许您使用二维数组一次在多行中插入值。看
在[{“sensorvalue”:“96”},{“sensorvalue”:“98”}]
中,您没有看到对象数组吗?
const sensorValues = JSON.parse(data).map(el => [el.sensorvalue]);
connection.query("INSERT INTO `nodes`(`sensorvalue`) VALUES ?", sensorValues, (err, res) => {
console.log(`${sensorValues.length} counter records inserted`);
});