parse_json
説明
文字列をJSON値に変換します。
構文
parse_json(string_expr)
パラメータ
string_expr
: 文字列を表す式。STRING、VARCHAR、CHARデータ型のみがサポートされています。
戻り値
JSON値を返します。
注: 文字列が標準のJSON値に解析できない場合、PARSE_JSON関数は
NULL
を返します(例5を参照)。JSONの仕様については、RFC 7159 を参照してください。
例
例1: 1
のSTRING値を1
のJSON値に変換します。
mysql> SELECT parse_json('1');
+-----------------+
| parse_json('1') |
+-----------------+
| "1" |
+-----------------+
例2: STRINGデータ型の配列をJSON配列に変換します。
mysql> SELECT parse_json('[1,2,3]');
+-----------------------+
| parse_json('[1,2,3]') |
+-----------------------+
| [1, 2, 3] |
+-----------------------+
例3: STRINGデータ型のオブジェクトをJSONオブジェクトに変換します。
mysql> SELECT parse_json('{"star": "rocks"}');
+---------------------------------+
| parse_json('{"star": "rocks"}') |
+---------------------------------+
| {"star": "rocks"} |
+---------------------------------+
例4: NULL
のJSON値を構築します。
mysql> SELECT parse_json('null');
+--------------------+
| parse_json('null') |
+--------------------+
| "null" |
+--------------------+
例5: 文字列が標準のJSON値に解析できない場合、PARSE_JSON関数はNULL
を返します。この例では、star
がダブルクォーテーションマーク(")で囲まれていないため、PARSE_JSON関数はNULL
を返します。
mysql> SELECT parse_json('{star: "rocks"}');
+-------------------------------+
| parse_json('{star: "rocks"}') |
+-------------------------------+
| NULL |
+-------------------------------+
例6: JSONキーに'.'が含まれる場合、例えば'a.1'、それは'\'でエスケープするか、キーの値全体をダブルクォーテーションで囲んでシングルクォーテーションで囲む必要があります。
mysql> select parse_json('{"b":4, "a.1": "1"}')->"a\\.1";
+--------------------------------------------+
| parse_json('{"b":4, "a.1": "1"}')->'a\\.1' |
+--------------------------------------------+
| "1" |
+--------------------------------------------+
mysql> select parse_json('{"b":4, "a.1": "1"}')->'"a.1"';
+--------------------------------------------+
| parse_json('{"b":4, "a.1": "1"}')->'"a.1"' |
+--------------------------------------------+
| "1" |
+--------------------------------------------+
キーワード
parse_json, parse json