简体   繁体   English

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

[英]Transforming JSON-like data into a string, node mysql

Quick edit - I am a complete beginner in web development, so I realize the solution might be stupidly obvious. 快速编辑-我是Web开发的一个完整的初学者,因此我意识到解决方案可能非常愚蠢。

I'm attempting to insert a data set into a MySQL db through nodejs/expressjs/mysql. 我正在尝试通过nodejs / expressjs / mysql将数据集插入MySQL数据库。

I have a successful connection to the db and can query from it without issues. 我已经成功连接到数据库,可以从数据库中查询而不会出现问题。

Here is my post code: 这是我的邮政编码:

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;
    });
});  

The POST data I am getting looks as follows: 我得到的POST数据如下所示:

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

I need a method to break that post into a simple: 我需要一种将该帖子分解为简单的方法:

"'Sebastian Avila', '71021714'"

Basically I want to end with: 基本上我想结束于:

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

You need to reduce a JSON object to an array (you can reduce it to string straight away, but array gives you more control over) and join it. 您需要将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); 

If you want query parameters to be dynamic, you can as well set Object.keys(postObject).join(',') in columns names part of the query. 如果希望查询参数是动态的,则还可以在查询的列名部分中设置Object.keys(postObject).join(',')

Try this 尝试这个

  var postObject = { NombreComercio: 'Sebastian Avila', NumeroTelefono: '71021714' } var vals = Object.keys(postObject).map(function(key) { return "'"+postObject[key]+"'"; }); console.log(vals.join(',')) 

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM