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

MaxCompute:JSON 関数

最終更新日:Aug 22, 2026

MaxCompute は、配列、マップ、構造体、JSON の 4 つの複合データ型をサポートしています。このトピックでは、JSON データ型の関数と機能について説明します。

関数一覧

関数

機能

FROM_JSON

指定された出力形式に基づいて、JSON 文字列から配列、マップ、または構造体型を返します。

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