JSON_EXTRACT()¶
简介¶
返回json中指定路径的值
语法¶
JSON_EXTRACT(json_doc, path[, path] ...)
说明¶
1. 如果任何参数为NULL,或在指定的路径没有JSON值,返回NULL。
2. 如果json_doc参数不是一个有效的JSON文档,或路径参数不是一个有效的路径表达式,则会发生错误。
3. 若只有一个路径,则返回路径匹配到的值,若有多个路径,则将所有路径匹配到的值组成一个数组返回。
示例¶
-- json数据为数组时示例
SELECT JSON_EXTRACT('[10, 20, [30, 40]]', '$[1]');
JSON_EXTRACT(json) |
------------------------
20 |
总数目:1
SELECT JSON_EXTRACT('[10, 20, [30, 40]]', '$[1]', '$[0]');
JSON_EXTRACT(json) |
------------------------
[20, 10] |
总数目:1
SELECT JSON_EXTRACT('[10, 20, [30, 40]]', '$[2][*]');
JSON_EXTRACT(json) |
------------------------
[30, 40] |
总数目:1
-- json数据为对象时示例
SELECT JSON_EXTRACT('{"a":"b","c":"d"}', '$.a');
JSON_EXTRACT(json) |
------------------------
"b" |
总数目:1
SELECT JSON_EXTRACT('{"a":"b","c":"d"}', '$.a','$.c');
JSON_EXTRACT(json) |
------------------------
["b", "d"] |
总数目:1
SELECT JSON_EXTRACT('{"a":"b","c":"d"}', '$.*');
JSON_EXTRACT(json) |
------------------------
["b", "d"] |
总数目:1