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

Realtime Compute for Apache Flink:JSON_TUPLE

最終更新日:Feb 06, 2026

このトピックでは、JSON_TUPLE 関数を使用して、JSON 文字列からパスを指定して値を抽出する方法について説明します。

制限事項

JSON_TUPLE 関数は、Ververica Runtime (VVR) 3.0.0 以降でのみサポートされています。

構文

JSON_TUPLE(str, path1, path2 ..., pathN)     

入力パラメーター

パラメーター

データ型

説明

str

VARCHAR

JSON 文字列です。

path1 to pathN

VARCHAR

パスを表す文字列です。先頭に $ を含めないでください。

  • テストデータ

    表 1. T1

    d(VARCHAR)

    s(VARCHAR)

    {"qwe":"asd","qwe2":"asd2","qwe3":"asd3"}

    qwe3

    {"qwe":"asd4","qwe2":"asd5","qwe3":"asd3"}

    qwe2

  • テストステートメント

    SELECT d, v 
    FROM T1, lateral table(JSON_TUPLE(d, 'qwe', s))
    AS T(v);   
  • テスト結果

    d(VARCHAR)

    v(VARCHAR)

    {"qwe":"asd","qwe2":"asd2","qwe3":"asd3"}

    asd

    {"qwe":"asd","qwe2":"asd2","qwe3":"asd3"}

    asd3

    {"qwe":"asd4","qwe2":"asd5","qwe3":"asd3"}

    asd4

    {"qwe":"asd4","qwe2":"asd5","qwe3":"asd3"}

    asd5

NULL 値処理動作の変更

動作の比較

str 入力パラメーターが NULL の場合、クエリ json_tuple(CAST(NULL AS STRING), 'a', 'b') で関数を呼び出すと仮定します。

SELECT * FROM (VALUES (1), (2)) AS v(x)
, LATERAL TABLE(
  json_tuple(CAST(NULL AS STRING), 'a', 'b')
) AS T;
-- 各入力行は NULL を含む 2 行を返します。合計: 4 行 — (1,null), (1,null), (2,null), (2,null)
  • VVR 11.0 より前 (従来の動作)

    • 結果: 4 行。

    • 内容: 各行に 1 つの NULL カラムが含まれます。

  • VVR 11.0 以降 (新しい動作)

    • 結果: 0 行 (空のセット)。

    • 内容: なし。