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] | +-----+