すべてのプロダクト
Search
ドキュメントセンター

Realtime Compute for Apache Flink:JSON_VALUE

最終更新日:Nov 09, 2025

JSON 文字列から指定されたパスの式を抽出します。

制限事項

この関数は、Ververica Runtime (VVR) 3.0.0 以降を使用する Realtime Compute for Apache Flink でのみサポートされています。

構文

VARCHAR JSON_VALUE(VARCHAR content, VARCHAR path)

入力パラメーター

パラメーター

データ型

説明

content

VARCHAR

解析する JSON オブジェクト。

説明

このパラメーターは VARCHAR データ型である必要があります。パラメーターが VARCHAR でない場合は、CAST 関数を使用して変換してください。そうしないと、解析エラーが発生し、関数が予期しない NULL 値を返す可能性があります。

path

VARCHAR

指定されたパスの式。カスタムパスでは、単一引用符 (') を使用する必要があります。例:

JSON_VALUE(json,'$.passenger_name') AS ABC

パスでは、次の記号がサポートされています。

  • $: ルートオブジェクトを示します。

  • []: 配列の添え字を示します。

  • *: 配列のワイルドカード文字を示します。

  • .: 子要素を示します。

説明

入力パラメーターに無効な JSON または NULL 値が含まれている場合、NULL が返されます。

  • テストデータ

    表 1 T1

    id(INT)

    json(VARCHAR)

    path1(VARCHAR)

    1

    [10, 20, [30, 40]]

    $[2][*]

    2

    {"aaa":"bbb","ccc":{"ddd":"eee","fff":"ggg","hhh":["h0","h1","h2"]},"iii":"jjj"}

    $.ccc.hhh[*]

    3

    {"aaa":"bbb","ccc":{"ddd":"eee","fff":"ggg","hhh":["h0","h1","h2"]},"iii":"jjj"}

    $.ccc.hhh[1]

    4

    [10, 20, [30, 40]]

    NULL

    5

    NULL

    $[2][*]

    6

    "{xx]"

    "$[2][*]"

  • テストステートメント

    SELECT 
        id,
        JSON_VALUE(json, path1) AS `value`
    FROM 
        T1;
  • テスト結果

    id (INT)

    value (VARCHAR)

    1

    [30,40]

    2

    ["h0","h1","h2"]

    3

    h1

    4

    NULL

    5

    NULL

    6

    NULL

参照

  • フルマネージド Flink でサポートされている組み込み関数の詳細については、「サポートされている関数」をご参照ください。

  • ユーザー定義関数 (UDF) の詳細については、「UDF」および「UDF の管理」をご参照ください。