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

标签 python mysql escaping quotes executemany

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

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

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

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

{"dashboard":"val"}

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

{'dashboard':'val'}

如何避免这种情况?

最佳答案

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

关于Python MySQLdb 将双引号更改为单引号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53810562/

相关文章:

python - 引入大整数常量的最优雅/pythonic 方式是什么?

python - gensim.corpora.Dictionary 是否保存了词频?

java - 在带有 OUT 参数的 java 存储过程中需要 MYSQL

string - 字符串文字中的转义序列 (Fortran)

ruby - 使用 Ruby 取消转义字符串中的字符

curl - elasticsearch REST API转义序列

python - 终端在 VS Code 中仅显示一个空的不可编辑光标

Python sched.scheduler 超过最大递归深度

MySQL复杂字符串匹配

mysql - Group By 来查找 SQL 中表元素之间的差异?