JSON_EXTRACT函数用于提取JSON类型数据中指定json_path的数据。
命令格式
JSON JSON_EXTRACT(JSON <json_expr>, STRING <json_path>)
-- 标准示例。
-- 返回1。
SELECT JSON_EXTRACT(JSON '{"a":1, "b":2}', '$.a');参数说明
json_expr:必填。待处理的JSON类型数据。JSON类型。
json_path:必填。需要返回的值的JSON路径。STRING类型。
返回值说明
返回JSON类型。返回规则如下:
若json_path无效,返回NULL。
若json_path非法,返回报错。
使用示例
示例1:从JSON中获取key为a的value值。
SELECT JSON_EXTRACT(JSON '{"a":1, "b":2}', '$.a');返回结果:
+-----+ | _c0 | +-----+ | 1 | +-----+示例2:当指定的JSON路径无效或目标键不存在时,返回NULL。
SELECT JSON_EXTRACT(JSON '{"a":1, "b":2}', '$.c');返回结果:
+-----+ | _c0 | +-----+ | NULL | +-----+示例3:JSON Path格式非法,返回报错信息。
SELECT JSON_EXTRACT(JSON '{"a":1, "b":2}', '$a');返回结果:
Invalid argument - Param json path $invalid_json_path is invalid
相关函数
JSON_EXTRACT函数属于JSON函数,更多JSON类型函数请参见JSON函数。