gpt4 book ai didi

mysql - 在 Python 中保存到 MySql 时,JSON 丢失双引号。如何解决?

转载 作者:行者123 更新时间:2023-11-29 06:26:03 24 4
gpt4 key购买 nike

我在 Python 3.7 中有以下代码,可以正常工作 - 应该将 JSON 对象保存在 MySql 数据库中:

jsonSerialized = json.dumps('{"k":"some data","l":"some data2"}')
cursor.execute('INSERT INTO messages (message) VALUES ('+jsonSerialized+')') #It works

结果为{"k":"some data","l":"some data2"}

但是以下代码将 JSON 保存在数据库中,不带双引号:

jsonObject = {"k":"some data","l":"some data2"}
jsonSerialized = json.dumps('%s'%jsonObject)
cursor.execute('INSERT INTO messages (message) VALUES ('+jsonSerialized+')') #It doesn't work

结果是 {'k': 'some data', 'l': 'some data2'} ,它丢失了双引号并丢失了 JSON 格式。

我将从另一个进程接收 jsonObject,并且我希望它在数据库中具有良好的格式。

我做错了什么?

最佳答案

您不需要两次编码为 JSON,只需使用正确的 cursor.execute() 语法来替换参数即可。

jsonSerialized = json.dumps(jsonObject)
cursor.execute('INSERT INTO messages (message) VALUES (%s)', (jsonSerialized,))

关于mysql - 在 Python 中保存到 MySql 时,JSON 丢失双引号。如何解决?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59461722/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com