Я пытаюсь получить значение LineNumber, но получаю сообщение об ошибке
ORA-31013: Неверное выражение XPATH 31013. 00000 - «Неверное выражение XPATH» * Причина: выражение XPATH передано вфункция недействительна* Действие: проверьте выражение xpath на наличие возможных синтаксических ошибок.
Кажется, формат json не работает, Oracle не считает lines.x - это строка json.
select JSON_value(aaa.af1, '$.a.System.Publisher')
, lines.x
, JSON_value(lines.x, '$.LineNumber')
from (
select '{"a":{"System": {"Publisher":"dms_WarehouseExpectedReceipt"},"WarehouseCode":"WHSE1","LineItem":[{"LineNumber":1000,"ItemNumber":"P00001","PackageCode":"*","Lot":"","Gtin":"70000100000015","ExpectedDate":"2018-12-13 12:00:00","InventoryAttributes":{"Character1":"","Character2":"","Character3":""}}]}}' af1 from dual
) aaa
cross apply
json_table(aaa.af1, '$.a.LineItem[*]'
COLUMNS(
queue_child_seq for ordinality
, x format json path '$'
)
) lines
Спасибо.