将类似JSON的数据转换为字符串,节点mysql

时间:2016-09-25 04:44:38

标签: javascript mysql json node.js express

快速编辑 - 我是Web开发的完全初学者,因此我意识到解决方案可能是非常明显的。

我试图通过nodejs / expressjs / mysql将数据集插入MySQL数据库。

我与数据库的连接成功,可以毫无问题地从中查询。

这是我的邮政编码:

app.post('/pyme', function(req,res){
    console.log("Data being POSTED to db...");
    var post = req.body;
    console.log(post);
    var sql_insert_pyme = 'INSERT INTO pyme(NombreComercio,NumeroTelefono) VALUES =?';
    sql.query(sql_insert_pyme,post,function(err){
    if(err) throw err;
    });
});  

我得到的POST数据如下:

{ NombreComercio: 'Sebastian Avila',
  NumeroTelefono: '71021714' }

我需要一种方法将该帖子分解为简单的:

"'Sebastian Avila', '71021714'"

基本上我想结束:

post = "'Sebastian Avila', '71021714'"

2 个答案:

答案 0 :(得分:1)

您需要将JSON对象缩减为数组(您可以将其简化为字符串,但数组可以让您更好地控制)并加入它。

var postObject = {
    NombreComercio: 'Sebastian Avila',
    NumeroTelefono: '71021714'
}

var postArray = Object.keys(postObject).reduce(function(reduced, jsonKey) {
    reduced.push("'" + postObject[jsonKey] + "'");
    return reduced;
}, []);

var postString = postArray.join(',');

console.log(postString);

如果您希望查询参数是动态的,您也可以在查询的列名称中设置Object.keys(postObject).join(',')

答案 1 :(得分:0)

试试这个



 var postObject = {
NombreComercio: 'Sebastian Avila',
NumeroTelefono: '71021714'
}

var vals = Object.keys(postObject).map(function(key) {
return "'"+postObject[key]+"'";
});

console.log(vals.join(','))