解析JSON表达式中对应json_path的数据,注意json_path非法时会报错。
命令格式
json json_extract(<json>, <json_path>)
参数说明
json:必填,待处理的JSON。
json_path:必填,需要返回的值的JSON路径。
返回值说明
返回JSON类型。
使用示例
示例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}', 'strict $.c');
返回结果:
+-----+ | _c0 | +-----+ | NULL | +-----+
示例3:JSON Path格式非法时,返回报错信息
Invalid argument - Param json path $invalid_json_path is invalid
。select json_extract(json '{"a":1, "b":2}', '$a');
返回结果:
--返回报错信息 Invalid argument - Param json path $invalid_json_path is invalid
相关函数
JSON_EXTRACT函数属于复杂类型函数,更多对复杂类型数据(例如ARRAY、MAP、STRUCT、JSON数据)的处理函数请参见复杂类型函数。