get_json_scalar
指定された JSON パスから JSON 文字列内のスカラー値を解析して取得し、VARCHAR 型として返します。
ヒント
すべての JSON 関数と Operator はナビゲーションと overview page に一覧されています。
クエリを 生成列 で高速化しましょう。
json_str または json_path の形式が無効である場合、または一致するコンテンツが見つからない場合、この関数は NULL を返します。json_path で特定された値が JSON オブジェクトまたは JSON 配列の場合も、この関数は NULL を返します。これは、この関数がスカラー値(数値、文字列、ブール値、JSON null)のみを返すためです。
構文
VARCHAR get_json_scalar(VARCHAR json_str, VARCHAR json_path)
パラメータ
-
json_str: JSON 文字列。サポートされているデータ型は VARCHAR です。 -
json_path: JSON パス。サポートされているデータ型は VARCHAR です。json_pathは$で始まり、.をパスの区切り文字として使用する必要があります。パスに.が含まれる場合は、"で囲むことができます。[ ]は配列の添字として使用され、0 から始まります。
例
-
キーが "k1" の値を取得します。値は数値
1で、1が返されます。MySQL > SELECT get_json_scalar('{"k1":1, "k2":"v2"}', "$.k1");+----------------------------------------------------+| get_json_scalar('{"k1":1, "k2":"v2"}', '$.k1') |+----------------------------------------------------+| 1 |+----------------------------------------------------+ -
キーが "my.key" の配列の2番目の要素を取得します。2番目の要素は
falseで、falseが返されます。MySQL > SELECT get_json_scalar('{"k1":"v1", "my.key":[true, false, 3]}', '$."my.key"[1]');+-----------------------------------------------------------------------------+| get_json_scalar('{"k1":"v1", "my.key":[true, false, 3]}', '$."my.key"[1]') |+-----------------------------------------------------------------------------+| false |+-----------------------------------------------------------------------------+ -
パスが
k1.key -> k2の配列の最初の要素を取得します。最初の要素はfalseで、falseが返されます。MySQL > SELECT get_json_scalar('{"k1.key":{"k2":[false, true]}}', '$."k1.key".k2[0]');+-------------------------------------------------------------------------+| get_json_scalar('{"k1.key":{"k2":[false, true]}}', '$."k1.key".k2[0]') |+-------------------------------------------------------------------------+| false |+-------------------------------------------------------------------------+ -
キーが "k1" の値を取得しますが、この値はスカラー値ではなく JSON オブジェクトです。NULL が返されます。
MySQL > SELECT get_json_scalar('{"k1":{"k11":"v11"}}', '$.k1');+----------------------------------------------------+| get_json_scalar('{"k1":{"k11":"v11"}}', '$.k1') |+----------------------------------------------------+| NULL |+----------------------------------------------------+
キーワード
GET_JSON_SCALAR,GET,JSON,SCALAR