この質問は結果のスコアが高いため、この推奨される代替案を投稿したいと思います:
Oracle は APEX 5.0 をリリースしました (2015 年 4 月 15 日)。これにより、JSON を操作するための優れた API にアクセスできます
私は11.2でそれを使用しており、単純なものから複数の配列と4/5レベルを持つ非常に複雑なオブジェクトまで、すべてのjsonをクランチすることができました. APEX_JSON
APEXを使用したくない場合。 API にアクセスするには、ランタイム環境をインストールするだけです。
使用例、json.org の例 からのデータ :
declare
sample_json varchar2 (32767)
:= '{
"glossary": {
"title": "example glossary",
"GlossDiv": {
"title": "S",
"GlossList": {
"GlossEntry": {
"ID": "SGML",
"SortAs": "SGML",
"GlossTerm": "Standard Generalized Markup Language",
"Acronym": "SGML",
"Abbrev": "ISO 8879:1986",
"GlossDef": {
"para": "A meta-markup language, used to create markup languages such as DocBook.",
"GlossSeeAlso": ["GML", "XML"]
},
"GlossSee": "markup"
}
}
}
}
}';
begin
apex_json.parse (sample_json);
dbms_output.put_line (apex_json.get_varchar2 ('glossary.GlossDiv.title'));
dbms_output.put_line (apex_json.get_varchar2 ('glossary.GlossDiv.GlossList.GlossEntry.GlossTerm'));
dbms_output.put_line (apex_json.get_varchar2 ('glossary.GlossDiv.GlossList.GlossEntry.GlossDef.GlossSeeAlso[%d]', 2));
end;
結果:PL/SQLブロックが実行されました
S
Standard Generalized Markup Language
XML