現在、psycopg2を使用して成功していないjsonオブジェクトの2つのリストをpostgresqlデータベースに格納しようとしています。ここでPythonを使用したPostgresqlでのJsonオブジェクトの配列の格納
は、この現在の実装では、このエラーが生じている
SQL_INSERT_QUERY = """INSERT INTO table (
x,
json_list_one,
json_list_two
) VALUES (%s, %s, %s)"""
def insert_stuff(id, json_list_one, json_list_two):
values = (
id,
map(psycopg2.extras.Json, json_list_one),
map(psycopg2.extras.Json, json_list_two)
)
conn = get_connection_pool().getconn()
try:
cur = conn.cursor()
cur.execute(SQL_INSERT_QUERY, values)
conn.commit()
cur.close()
finally:
get_connection_pool().putconn(conn)
...私が何をしようとしています何の抜粋です...
An exception of type ProgrammingError occured. Arguments:
('column "json_list_one" is of type json[] but expression is of type text[]\nLINE 5: ...) VALUES (\'9527d790-31dc-46fa-b683-c6fc9807c2a4\', ARRAY[\'{"h...\n ^\nHINT: You will need to rewrite or cast the expression.\n',)
することは私がすることが出来るのですか誰でも知っていますPostgreSQLにjsonオブジェクトの配列を挿入しますか?
ありがとうございます。
これは 'DETAIL:配列値は" {"または" dimension information'で始まらなければなりません。何が間違っているのでしょうか? – FeedTheWeb
デフォルトでは、postgresは未知のデータをテキストとしてキャストします。 '' json_list_one ''の型はjson []ですが、式はtext型の型ではなく、 '' text [] ''型のエラーです。 –