get_json_string
get_json_string
Description
この関数は、指定されたパスからJSON文字列内の文字列を解析して取得します。
json_pathは$
で始まり、パスの区切り文字として.
を使用します。
パスに.
が含まれる場合、"
でくくることができます。
[ ]
は、0から始まる配列のインデックスとして使用されます。
パスの中には"
, [
, ]
を含めることはできません。
もしjson_stringやjson_pathのフォーマットが間違っている場合、この関数はNULLを返します。
Syntax
VARCHAR get_json_string(VARCHAR json_str, VARCHAR json_path)
Examples
-
キーが"k1"の値を取得する。
MySQL > SELECT get_json_string('{"k1":"v1", "k2":"v2"}', "$.k1");
+---------------------------------------------------+
| get_json_string('{"k1":"v1", "k2":"v2"}', '$.k1') |
+---------------------------------------------------+
| v1 |
+---------------------------------------------------+ -
キーが"my.key"の配列内の2番目の要素を取得する。
MySQL > SELECT get_json_string('{"k1":"v1", "my.key":["e1", "e2", "e3"]}', '$."my.key"[1]');
+------------------------------------------------------------------------------+
| get_json_string('{"k1":"v1", "my.key":["e1", "e2", "e3"]}', '$."my.key"[1]') |
+------------------------------------------------------------------------------+
| e2 |
+------------------------------------------------------------------------------+ -
パスがk1.key -> k2の配列内の最初の要素を取得する。
MySQL > SELECT get_json_string('{"k1.key":{"k2":["v1", "v2"]}}', '$."k1.key".k2[0]');
+-----------------------------------------------------------------------+
| get_json_string('{"k1.key":{"k2":["v1", "v2"]}}', '$."k1.key".k2[0]') |
+-----------------------------------------------------------------------+
| v1 |
+-----------------------------------------------------------------------+ -
キーが"k1"の値を持つすべての要素を配列から取得する。
MySQL > SELECT get_json_string('[{"k1":"v1"}, {"k2":"v2"}, {"k1":"v3"}, {"k1":"v4"}]', '$.k1');
+---------------------------------------------------------------------------------+
| get_json_string('[{"k1":"v1"}, {"k2":"v2"}, {"k1":"v3"}, {"k1":"v4"}]', '$.k1') |
+---------------------------------------------------------------------------------+
| ["v1","v3","v4"] |
+---------------------------------------------------------------------------------+
keyword
GET_JSON_STRING,GET,JSON,STRING