如何在SQL数据库中将json对象存储为字符串

时间:2017-03-17 19:15:03

标签: python sql json escaping

使用python,json和pyodbc,是否有一个python函数将json对象存储在SQL数据库的Text字段中?

例如:

cnxn = pyodbc.connect( MY CONNECTION STRING )
cursor = cnxn.cursor()
cursor.execute("UPDATE TABLE1 SET FIELD1 = '" + json.dumps(pythonDictionary) + "' WHERE FIELD2 = 'some value'")

我总是得到语法错误,因为我没有正确地转义json对象中的特殊符号,我只是希望将json转换转换为正确的sql字符串,python中是否有一个函数可以做到这一点?!

1 个答案:

答案 0 :(得分:2)

您应该只使用参数化值,而不是逃避自己:

cursor.execute("UPDATE TABLE1 SET FIELD1 = ? WHERE FIELD2 = 'some value'", (json.dumps(pythonDictionary)) )

How to use variables in SQL statement in Python?