LINUX.ORG.RU

psycopg2.DataError: malformed array literal

 , ,


0

2

Короче, мне надо запихнуть в ячейку таблицы PostgreSQL сильно многоуровневый JSON-массив в виде текста. Делаю на Python 3 + psycopg2. Выдает ошибку

psycopg2.DataError: malformed array literal
При том, что массив (словарь) преобразован к строке. Нашел, что PostgreSQL многоуровневых массивов не переваривает. Но какого черта? Это же просто много текста! Помогите справиться с проблемой, пожалуйста!

★★★★★
Ответ на: комментарий от Qwentor

Показывай запрос, таблицу, данные, которые вставляешь.

Deleted
()

При том, что массив (словарь) преобразован к строке

Так покажи код, как именно преобразуешь и как вставляешь. В одном из этих двух мест ты себя обманываешь.

v9lij ★★★★★
()
Ответ на: комментарий от v9lij

Преобразовывать пробовал 2 способами:

data = str(data)

data = json.dumps(data)


Вставляю
cur = conn.cursor()
cur.execute("INSERT INTO betfair (type_play, data, team, link) VALUES (%s, %s, %s, %s)", (type_play, data, team, lnk))


Массив в data

Qwentor ★★★★★
() автор топика

Ты не хочешь пихать длинные строки в varchar.
И уж точно ты не хочешь пихать json в varchar, ты хочешь пихать его в jsonb.

AnDoR ★★★★★
()

не относится к проблеме, но если не сложно и не жалко - от куда берешь данные?

gnunixon ★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.