Python 的 MySQLdb 将双引号更改为单引号

Python's MySQLdb changes double quotes to single quotes

提问人:Aamit 提问时间:12/17/2018 更新时间:12/17/2018 访问量:125

问:

我正在使用 python 从 REST API 读取值并写入 MySQL 表。返回的值之一是 JSON,我想将其存储在数据库中。

API 返回的值已转义引号,如下所示:

{\"dashboard\":\"val\"}

当我使用 print 时,我看到转义字符被替换为实际引号(这是期望的结果):

{"dashboard":"val"}

但是,当我使用 MySQLdb execute 或 executemany(带有标记化参数)时 - 写入数据库的值将所有双引号替换为单引号,使其成为无效的 json:

{'dashboard':'val'}

我该如何避免这种情况?

python mysql 转义 引号 executemany

评论

2赞 snakecharmerb 12/17/2018
你能提供一个最小的可重复的例子吗?

答:

0赞 KC. 12/17/2018 #1

你应该把你的库改成 or or etc ,因为有一些你无法预测的问题。即使您的参数和base_sql是正确的。我推荐,因为它是MySQL官方库。https://dev.mysql.com/downloads/connector/python/mysql.connectorpymysqlMySQLdbmysql.connector