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

MaxCompute:JSON_SET

最終更新日:Jan 17, 2025

JSONファイル内の指定された位置に値を置き換えます。

構文

JSON json_set(JSON <input>, ARRAY STRING <path>, JSON <value>, BOOLEAN <create_if_missing>);

Parameters

  • input: 必須です。 このパラメーターは、値を置き換えるJSONデータを指定します。 このパラメーターの値は、JSON ARRAY型またはJSON OBJECT型です。

  • path: 必須です。 このパラメーターは、値を置き換える位置を指定します。 このパラメーターの値は、ARRAY<STRING> 型です。 配列内の各値は、ネストされたパスのレベルを示します。 JSONファイルにnレベルのネストされたパスが含まれている場合、pathパラメーターにはn個の値が含まれます。

  • value: required このパラメーターは、値を置き換えるために使用するJSON値を指定します。

  • create_if_missing: 必須です。 このパラメーターは、指定された位置に値が存在しない場合にJSONファイルに値を追加するかどうかを指定します。 有効な値:

    • true

    • false (デフォルト値)

戻り値

変更されたJSONファイルが返されます。

  • 例1: JSONファイルの指定された位置の値を置き換えます。

    select json_set(JSON'[{"f1":1,"f2":null},2,null,3]',
                    array("0","f1"), 
                    JSON'[2,3,4]', 
                    false
                   );

    次の応答が返されます。

    +-----+
    | _c0 |
    +-----+
    | [{"f1":[2,3,4],"f2":null},2,null,3] |
    +-----+
  • 例2: JSONファイルの指定された位置の値を置き換えます。 値が存在しない場合、置き換えは実行されません。

    select json_set(JSON'[{"f1":1,"f2":null},2,null,3]', 
                    array("0","f3"), 
                    JSON'[2,3,4]', 
                    false);

    次の応答が返されます。

    +-----+
    | _c0 |
    +-----+
    | [{"f1":1,"f2":null},2,null,3] |
    +-----+
  • 例3: JSONファイルの指定された位置の値を置き換えます。 値が存在しない場合は、値を追加します。

    select json_set(JSON'[{"f1":1,"f2":null},2,null,3]', 
                    array("0","f3"), 
                    JSON'[2,3,4]', 
                    true);

    次の応答が返されます。

    +-----+
    | _c0 |
    +-----+
    | [{"f1":1,"f2":null,"f3":[2,3,4]},2,null,3] |
    +-----+