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

MaxCompute:JSON 関数

最終更新日:Apr 29, 2026

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

JSON ドキュメント内に指定された JSONPath が存在するかどうかをチェックします。

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 データ型」をご参照ください。