Как работать с json полями в postgresql?

Пользователь

от wilburn , в категории: SQL , 6 месяцев назад

Как работать с json полями в postgresql?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

1 ответ

Пользователь

от clifford , 6 месяцев назад

@wilburn 

В PostgreSQL существует несколько функций и операторов, которые позволяют работать с JSON-полями. Вот некоторые из них:

  1. jsonb: Это специальный тип данных в PostgreSQL, который предоставляет более эффективное хранение и манипуляцию с JSON.
  2. jsonb_build_object: Эта функция позволяет создавать JSON-объекты на основе пар ключ-значение. Например:
1
SELECT jsonb_build_object('name', 'John', 'age', 30) AS person;


Вернет результат:

1
{"name": "John", "age": 30}


  1. ->: Этот оператор позволяет извлекать значение по ключу из JSON-объекта. Например:
1
SELECT '{"name": "John", "age": 30}' -> 'name' AS name;


Вернет результат:

1
"John"


  1. #>>: Этот оператор позволяет извлекать значение по пути из JSON-объекта. Например:
1
SELECT '{"person": {"name": "John", "age": 30}}' #>> '{person, name}' AS name;


Вернет результат:

1
"John"


  1. ||: Этот оператор позволяет объединять два или более JSON-объекта. Например:
1
SELECT '{"name": "John"}' || '{"age": 30}' AS person;


Вернет результат:

1
{"name": "John", "age": 30}


  1. jsonb_agg: Эта функция позволяет агрегировать строки в массив JSON-объектов. Например:
1
2
SELECT jsonb_agg(jsonb_build_object('name', name, 'age', age)) AS people
FROM users;


Вернет результат:

1
[{"name": "John", "age": 30}, {"name": "Jane", "age": 25}]


Это лишь некоторые примеры функций и операторов, доступных в PostgreSQL для работы с JSON. В PostgreSQL есть еще множество других возможностей, которые могут быть полезными при работе с JSON-полями. Можно ознакомиться с деталями в документации PostgreSQL.