PostgreSQL как правильно распарсить массив строк JSON без кавычек?

Рейтинг: 1Ответов: 1Опубликовано: 19.05.2023

Есть упрощённый код:

SELECT value::VARCHAR(100) FROM jsonb_array_elements('["1", 1, 2, 3, 4, "4"]')

Мягко скажем, поведение данного кода огорчает. Есть способ нормально запарсить подобный массив без костылей? См. скрин, зачем-то в выводе для строк парсер json оставляет двойные кавычки.

введите сюда описание изображения

Ответы

▲ 2Принят

Видимо вам нужно это:

select value::varchar(100) from jsonb_array_elements_text('["1", 1, 2, 3, 4, "4"]');

Вяло искали, в документации это следующая строка таблицы после jsonb_array_elements: https://postgrespro.ru/docs/postgresql/15/functions-json#FUNCTIONS-JSON-PROCESSING-TABLE