向sqlite插入JSON数据 - OperationalError: 未识别的标记 "{

2 投票
1 回答
6217 浏览
提问于 2025-04-17 13:13

我在代码中做了类似这样的事情:

import sqlite3
...
sqlString=company['name']+","+simplejson.dumps(info)
cur.execute("INSERT INTO companyInfo VALUES("+sqlString+")")

但是我遇到了以下错误: cur.execute("INSERT INTO companyBlobs VALUES("+valueString+")") sqlite3.OperationalError: unrecognized token: "{"

我猜这可能是处理JSON数据时出现了问题,但我不太确定该怎么解决。 有什么想法吗?

1 个回答

5

试着使用参数化查询:

sqlString=company['name']+","+simplejson.dumps(info)
cur.execute("INSERT INTO companyInfo VALUES (?)", (sqlString, ))

这样可以自动处理你的输入,避免安全问题。

撰写回答