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

MaxCompute:JSON 関数

最終更新日:Dec 31, 2025

MaxCompute は、ARRAY、MAP、STRUCT、JSON の 4 つの複雑なデータ型をサポートしています。このトピックでは、JSON データ型の関数と特徴について説明します。

インデックス

関数

特徴

FROM_JSON

指定された出力フォーマットに基づいて、JSON 文字列から ARRAY、MAP、または STRUCT 型を返します。

GET_JSON_OBJECT

指定されたパスを使用して、JSON 文字列から文字列を抽出します。

JSON_ARRAY

空の場合もある JSON オブジェクトを、そのオブジェクトを含む JSON 配列に変換します。

JSON_CONTAINS

JSON ドキュメントに指定された JSON 要素が含まれているかどうかを確認します。

JSON_EXISTS

指定された JSONPath が JSON ドキュメントに存在するかどうかを確認します。

JSON_EXPLODE

JSON 配列または JSON オブジェクトの各要素を複数の行に展開します。

JSON_EXTRACT

指定された JSONPath に基づいて、JSON 文字列または JSON データ型からデータを抽出します。

JSON_FORMAT

JSON データ型を文字列に変換します。デフォルトでは、出力は整形されません。

JSON_INSERT

JSON ドキュメントの指定された位置に JSON 値を挿入します。

JSON_LENGTH

指定されたパスにある JSON データの長さを返します。

JSON_OBJECT

キーと値のペアから JSON オブジェクトを生成します。

JSON_PARSE

文字列を JSON データ型に変換します。文字列が有効な JSON フォーマットでない場合は、エラーが返されます。

JSON_PRETTY

改行とスペースを追加して、JSON 文字列を読みやすくフォーマットします。

JSON_SET

JSON ドキュメントの指定されたパスで、既存の値を置き換えるか、新しい値を追加します。

JSON_STRIP_NULLS

JSON オブジェクトまたは JSON 配列から、値が null のすべてのフィールドまたは要素を削除します。

JSON_TUPLE

指定されたキーのグループに対して、標準の JSON 文字列から文字列を抽出します。

JSON_TYPE

JSON 値の型名を返します。

JSON_UNQUOTE

JSON 文字列から引用符を削除します。

JSON_VALID

文字列が有効な JSON であるかどうかを確認します。

TO_JSON

指定された複雑なデータ型を JSON 文字列に変換します。

適用範囲

  • SDK バージョンの要件

    • Java SDK V0.44.0 以降のバージョンのみがサポートされています。

    • PyODPS V0.11.4.1 以降のバージョンのみがサポートされています。

  • テーブル操作の制限

    • テーブルに JSON 列を追加することはできません。

    • クラスター化テーブルはサポートされていません。

    • Delta Table 型のテーブルはサポートされていません。

  • SQL 操作の制限

    • JSON 型での比較操作はサポートされていません。

    • JSON 型に対して ORDER BY 句や GROUP BY 句を使用することはできません。また、JSON 型の列を JOIN キーとして使用することもできません。

  • データ精度

    • JSON NUMBER の整数部は BIGINT 型として格納されます。整数が BIGINT の範囲外の場合、オーバーフローが発生します。

    • JSON NUMBER の小数部は DOUBLE 型として格納されます。小数部を DOUBLE 型に変換する際に、精度が低下する可能性があります。

  • 文字制限:JSON データを生成するために使用される文字列では、Unicode 文字 \u0000 はサポートされていません。

  • エンジンの互換性:Hologres などの別のエンジンを使用してテーブルからデータを読み取る場合、JSON データ型は読み取れません。

  • Java UDF と Python UDF は JSON 型をサポートしていません。

  • JSON データ型は最大 20 レベルまでネストできます。

  • 開発ツール

    サポートされている開発ツールには、MaxCompute クライアント (odpscmd)、MaxCompute Studio、DataWorks が含まれます。Dataphin などの外部エコシステムはサポートされていません。外部システムで JSON データ型を使用する場合は、使用を開始する前にその互換性を確認する必要があります。odpscmd クライアントを使用する場合は、次の点にご注意ください:

    • クライアントを V0.46.5 以降にアップグレードする必要があります。そうしないと、DESC json_table コマンドを実行したり、Tunnel を使用して JSON データをダウンロードしたりすることができません。

    • クライアントのインストールパスにある conf\odps_config.ini ファイルで、use_instance_tunnel パラメーターを false に設定してください。そうしないと、クエリが失敗します。

関連ドキュメント

JSON データ型の詳細については、「JSON データ型」をご参照ください。