当前位置: 首页 > 知识库问答 >
问题:

在mysql表中插入json数组

卫建义
2023-03-14

使用mysql2,我正在解析来自endpoint的json响应,并在mysql数据库中插入它的一些值。我现在要做的是将这个响应记录在我的数据库的一个表中。我接收的json包含在一个名为data的变量中,我可以正确访问它的值,如data.object.account_country等等。

data是一个有效的json,如下所示(为保护隐私而修剪):

{
    "object": {
      "id": "in_1IYxloLuHwfLSa62Zjqz5jX5",
      "object": "invoice",
      "account_country": "IT",
    }
}

现在,我想将整个json存储在mysql的日志表中,因此我在表中创建了一个json列,并尝试插入json。

我的查询如下所示:

con1.query(“insert INTO webhook_log SET tipo='”+eventtype+“‘,risposta='”+data+“’,created_on=now()”,function(err,result){if(err)throw err;console.log(%1+“”Webhook logged);});

这将引发以下错误:

{错误:无效的JSON文本:“无效的值.”位于列'webhook_log.risposta'的值中的位置1。

我还尝试删除数据周围的单引号,但在本例中,我得到了:

{错误:您的SQL语法有错误;请查看与您的MySQL server版本相对应的手册,了解第1行“[object object],created_on=now()'附近使用的正确语法

很明显,我在这里做错了什么,但我不能指出这个错误。

共有1个答案

司寇高峯
2023-03-14

根据上面的注释,答案是使用JSON.stringify将Javascript对象转换为JSON字符串。

还要使用SQL查询参数。一旦你掌握了它的诀窍,它实际上比做字符串连接和眼睛疲劳试图平衡所有的引号要容易得多。

con1.query("INSERT INTO webhook_log SET tipo=?, riposta=?, created_on=now()",
  [eventType, JSON.stringify(data)],
  function(err,result){ if(err) throw err; console.log(🔔  Webhook logged); });
 类似资料:
  • 本文向大家介绍在MySQL中的表格中插入随机数?,包括了在MySQL中的表格中插入随机数?的使用技巧和注意事项,需要的朋友参考一下 要插入随机数,请使用MySQL中的function。让我们首先创建一个表- 使用插入命令在表中插入一些记录- 使用select语句显示表中的所有记录- 这将产生以下输出- 让我们在MySQL的表格中插入随机数- 让我们再次检查表记录- 这将产生以下输出-

  • 问题内容: 嗨,我正在尝试将json数组插入我的MySQL数据库。我从我的iPhone传递数据,我已经将数据转换为json格式,并使用未插入服务器的url将数据传递到服务器。 这是我的json数据。 [{“ name”:“ 0”,“ phone”:“ dsf”,“ city”:“ sdfsdf”,“ email”:“ dsf”},{“ name”:“ 13123123”,“ phone”:“ sd

  • PHP是:

  • 我已经在Java中制作了一个GUI,它与MySQL服务器连接并插入,删除,更新数据。我在此GUI上有一个部分,您可以在文本区域中编写MySQL查询,结果显示在上。一切都很好!我可以打印或将它们保存到文本文件中! 现在,我想添加另一个特性:当我双击一个特定单元格时,我想更改的数据,并且我想通过单击按钮来更新MySQL表中的数据。 我在网上找遍了,也找不到好的例子,也找不到好的解决办法。我拥有的< c

  • 问题内容: 我想将表单的值(以php格式)存储到mysql中,当我将数据插入表中时,该字段的值以波斯语言显示,而该字段的值则以波斯语言显示: 我使用了这些代码,但无法正常工作 表,数据库和列具有utf8_persian_ci排序规则 问题答案: 确保排序规则是utf8。排序规则persiab大小写不敏感可能无法正常工作,因为输入的字符代码可能不在波斯语字符的范围内。unicode 8将起作用。将排

  • 当前,我有一个数组,当通过print_r()输出时,该数组如下所示; 我想将此数据插入到一个表中,每个元素值都属于其各自的字段。 问候。