37.36 TO_XMLTYPE_SQLファンクション

このファンクションは、JSON形式のvarchar2またはCLOBを解析し、XMLTypeに変換します。このファンクション・オーバーロードには、SQL問合せ内から呼び出し、LAXモードでJSON解析を実行できるように、VARCHAR2としてp_strictパラメータが含まれています。

構文

APEX_JSON.TO_XMLTYPE_SQL (
    p_source   IN VARCHAR2,
    p_strict   IN VARCHAR2 DEFAULT 'Y' )
RETURN sys.xmltype;

APEX_JSON.TO_XMLTYPE_SQL (
    p_source   IN CLOB,
    p_strict   IN VARCHAR2 DEFAULT 'Y' )
RETURN sys.xmltype;

パラメータ

パラメータ 説明
p_source JSONソース(VARCHAR2またはCLOB)
p_strict Y (デフォルト)の場合、厳密なJSONルールを強制します

戻り値

JSONデータのxmltype表現

この例のSQL問合せでは、JSONをXMLTYPEに変換し、XMLTABLE SQLファンクションを使用してデータを抽出しています。p_strict引数をNに設定しているため、JSONをLAXモードで正常に解析できます。ただし、アイテム属性は引用符で囲んでいません。

select
    attr_1
from
    xmltable(
    '/json/items/row'
    passing apex_json.to_xmltype_sql( '{ items: [ 1, 2, { "foo": true } ] }', p_strict => 'N' )
    columns
    attr_1 varchar2(20) path 'foo/text()'
 );