psycopg2.ProgrammingError:无法适应类型“dict”

Elv*_*rov 5 python sql postgresql json python-3.x

我在python中有一个sql类,它将数据插入到我的 PostgreSQL DB 中。在我的表中,一列是jsonfield,当我将数据插入该表时,我收到错误(psycopg2.ProgrammingError: can't adjustment type 'dict') 。

我使用过json.load 、 json.loads 、 json.dump 、 json.dumps。他们都没有工作。即使我尝试过字符串格式化。它也不起作用。

知道该怎么做吗?

我的代码如下

json_data = {
 "key": "value"
 }
query = """INSERT INTO  table(json_field) VALUES(%s)"""
self.cursor.execute(query, ([json_data,]))
self.connection.commit()

Run Code Online (Sandbox Code Playgroud)

小智 1

下面的代码块对我有用

import psycopg2
import json

json_data = {
 "key": "value"
 }

json_object = json.dumps(json_data, indent = 4)  

query = """INSERT INTO  json_t(field) VALUES(%s)"""

dbConn = psycopg2.connect(database='test', port=5432, user='username')
cursor=dbConn.cursor()
cursor.execute(query, ([json_object,]))
dbConn.commit()
Run Code Online (Sandbox Code Playgroud)