kurojneko
@kurojneko

Как правильно использовать json в PostgreSQL?

Здравствуйте, столкнулся с проблемой.
Не так давно, у постгреса появилась поддержка json данных, и я пытаюсь их использовать. Но что то упустил..
Есть запрос, в 2 таблицы, в одной из которых json поле.
SELECT*
FROM "profile" 
INNER JOIN "util_template" ON ( "profile"."template_id" = "util_template"."id" ) 
WHERE ("profile"."member_id" = 3 AND "profile"."company_id" = 1 
AND (((util_template.list_actions)::json ->'OwnerVehicleViewSet')->>'create') IS NOT NULL )


Проблема в том, что postgresql ругается почти на операторы json. В данном случае он выдает ошибку:
ERROR: invalid input syntax for type json
SQL-состояние: 22P02
Подробности: Expected "," or "]", but found ":".
Контекст: JSON data, line 1: {"OwnerVehicleViewSet":["post":...

Пробовал варианты:
((util_roletemplate.list_actions)::json -> "OwnerVehicleViewSet")->>"create")


ERROR:  column "OwnerVehicleViewSet" does not exist
LINE 13: AND (((util_roletemplate.list_actions)::json -> "OwnerVehicl...
  • Вопрос задан
  • 5115 просмотров
Пригласить эксперта
Ответы на вопрос 1
kurojneko
@kurojneko Автор вопроса
Проблема была в данных в базе, колонка данных формата charfield, и я конечно записал туда некорректный json. Рушилось все при попытке распарсить жсон из базы.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы