powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / Oracle [игнор отключен] [закрыт для гостей] / И вновь JSON
5 сообщений из 5, страница 1 из 1
И вновь JSON
    #40092813
one from
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день!
Проблема.
Имеется таблица с несколькими CLOB полями вида

""date1"":""2021-08-01"",""date2"":""2021-08-20""
...

Нужно распарсить,
проблема в двойных задвоенных кавычках.

select
json_value(""date1"":""2021-08-01"", ""date2"":""2021-08-20"")', '$."date1"') as val_json
from dual;
не работает.
Просьба помочь, кому не лень-)
...
Рейтинг: 0 / 0
И вновь JSON
    #40092817
one from
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Нашел решение с RegExp_Replace
select
json_value(regexp_replace(t.date_period,'""','"'),'$."date1"') date1,
json_value(regexp_replace(t.date_period,'""','"'),'$."date2"') date2
from my_table t

Напрашивается убрать двойную нагрузку на regexp_replace при распарсировании одного CLOB поля (date_period)

В примере поле CLOB содержит два ключ-значения, в реальности их больше,
возможно ли выполнить запрос однократным использованием regexp_replace?
...
Рейтинг: 0 / 0
И вновь JSON
    #40092822
Фотография Sayan Malakshinov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
one from,

зачем тяжелый regexp_replace, когда достаточно простого replace()
...
Рейтинг: 0 / 0
И вновь JSON
    #40092857
one from
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо за Replace.
Еще возникла ситуация.
В одном из CLOB поле (назовем вновь как date_period ) даты указаны ключами типа
""date1"":[2018,5,23],""date2"":[2020,3,20]

то есть без кавычек.

Извлечение
json_value(replace(t.date_period,'""','"'),'$."date1"') date1
не работает.
Пока в ступоре...
...
Рейтинг: 0 / 0
И вновь JSON
    #40092869
Фотография env
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Получить данные в нормальном виде не представляется возможным?

Это json-подобное нечто, но не json. Если у вас такая мешанина форматов, то сначала стоит привести бОльшую часть исходных данных к одному виду, а потом уже что-то из них извлекать.

В квадратных скобках json предполагает запись массивов, запросом надо вытаскивать по индексу элемента в массиве.
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / Oracle [игнор отключен] [закрыт для гостей] / И вновь JSON
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]