【问题标题】:Transforming JSON-like data into a string, node mysql将类似JSON的数据转换成字符串,节点mysql
【发布时间】:2017-02-02 15:42:51
【问题描述】:

快速编辑 - 我是 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'"

【问题讨论】:

    标签: javascript mysql json node.js express


    【解决方案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(',')

    【讨论】:

    • 这解决了它。谢谢!我在圈子里跑来跑去,想办法缩小和推动物体
    • 不客气。简单的东西,现在你知道如何处理它了。干杯!
    【解决方案2】:

    试试这个

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-12-23
      • 2019-11-19
      • 2021-02-23
      • 2018-11-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多