Der JSON_path_expression unterstützt nur einige grundlegende Syntax gemäß dem Handbuch :
JSON_Pfad_Ausdruck::=
object_step::=
array_step::=
Ein alternativer Ansatz besteht darin, JSON_TABLE zu verwenden, um die JSON in eine relationale Tabelle zu konvertieren und dann die Spalten zu projizieren und zu filtern.
select value
from json_table(
'{
"notUsed": [],
"stock": [
{
"name": "eggs",
"value": "in stock"
},
{
"name": "milk",
"value": "out of stock"
}
]
}',
'$.stock[*]'
columns
(
name varchar2(100 char) path '$.name',
value varchar2(100 char) path '$.value'
)
)
where name = 'eggs'
Ergebnisse:
VALUE
-----
in stock