Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / PostgreSQL Новый топик    Ответить
 Из jsonb взять массив  [new]
Alex-1111
Member

Откуда:
Сообщений: 1
Подскажите, в теме начальные знания,

есть столбец таблицы типа jsonb, в этом json среди ключей есть и массив.
Как лучше его вытащить в проге на С++?
SELECT берет весь массив как строку, а потом код С++ уже вытаскивает элементы?
2 апр 21, 12:40    [22303327]     Ответить | Цитировать Сообщить модератору
 Re: Из jsonb взять массив  [new]
Melkij
Member

Откуда: Санкт-Петербург
Сообщений: 1280
Alex-1111,

jsonb на wire protocol всегда текстом передаётся. Что в текстовой (jsonb_out), что в бинарной форме (jsonb_send) - специально, чтобы не привязывать internal представление базы к внешнему миру.
Поэтому вычитываете select'ом нужный кусок jsonb, затем на приложении разбираете этот json как текст.
2 апр 21, 12:49    [22303338]     Ответить | Цитировать Сообщить модератору
 Re: Из jsonb взять массив  [new]
Maxim Boguk
Member

Откуда: Melbourne, Австралия
Сообщений: 4691
Alex-1111
Подскажите, в теме начальные знания,

есть столбец таблицы типа jsonb, в этом json среди ключей есть и массив.
Как лучше его вытащить в проге на С++?
SELECT берет весь массив как строку, а потом код С++ уже вытаскивает элементы?


Но если у вас json(b) очень большой то можно попробовать вытащить только нужный вам массив чтобы по сети не гонять всю простынь данных.
См https://www.postgresql.org/docs/13/functions-json.html


--
Maxim Boguk
лучшая поддержка PostgreSQL: dataegret.ru
2 апр 21, 13:02    [22303347]     Ответить | Цитировать Сообщить модератору
Все форумы / PostgreSQL Ответить