Попытка вставить следующую строку JSON без форматирования
str={
"Trial": {
"@id": "xxxxx",
"key1": "aaaaaaaa (BAL-8557) aaaaaaaaaaaaaaaaaa",
"key2": "aaaaaaaaaaaaa , aaaaaaaaaaaaaaaaaaa",
"key3": "Yes",
"key4": "No",
"key5": {
"key5": [{
"@type": "ABC",
"$": "ABC121 "
},
{
"@type": "ABC",
"$": "ABC12133 "
}]
},
"Indications": {
"Indication": {
"@id": "1308",
"$": "aaaaaa"
}
}
}
}
в следующую базу данных PostgreSQL
CREATE TABLE records
(
id text,
record json
)
Код, который я использую для выполнения операции вставки
cur = conn.cursor()
cur.execute("INSERT INTO trial_records(id, record) VALUES (%s, %s)", ('1', json.dumps(json.loads(str))))
Ошибка:
the JSON object must be str, bytes or bytearray, not 'dict'
Это правильный синтаксис для хранения строки json как части столбца