将json插入mysql。 json 字符串是从 json.dumps 中获取的

Posted

技术标签:

【中文标题】将json插入mysql。 json 字符串是从 json.dumps 中获取的【英文标题】:insert json into mysql. json string is obtained from json.dumps 【发布时间】:2012-07-14 22:25:54 【问题描述】:

问题在于将 json 字符串插入 mysql 数据库。 在我的 python 程序中,我获得了 json 作为json.dumps(d) 的结果,其中 d 是字典。插入代码是:

        query = ("INSERT INTO bm_triesJsons VALUES (%s, %s, %s);"%
                 (article_id, revision_number, jsn))
        print query
        cur.execute(query)

看起来问题是引号,引号前没有转义符号。 我该如何解决这个问题?

【问题讨论】:

【参考方案1】:

在进行查询时使用参数化方法来处理值。驱动程序将处理转义:

query = "INSERT INTO bm_triesJsons VALUES (%s, %s, %s);"
cur.execute(query, (article_id, revision_number, jsn))

如果你想直接手动访问 MySQLdb 使用的转义函数,你可以这样做:

c = MySQLdb.connection()
print c.escape_string('"foo":"bar"')
# \"foo\":\"bar\"

【讨论】:

以上是关于将json插入mysql。 json 字符串是从 json.dumps 中获取的的主要内容,如果未能解决你的问题,请参考以下文章

将 JSON 数组视为要插入 MYSQL 的字符串

当 JSON 对象作为字符串文字插入时,MySQL JSON 列丢失小数精度

php如何将逗号分隔的多个json格式的字符串作为一个值插入到mysql表中? [复制]

SyntaxError:JSON.parse:尝试插入 mysql 时 JSON 数据的第 1 行第 1 列出现意外字符

如何将json字段插入mysql

如何将json数组插入mysql数据库