MySQL解析json字符串的相关问题

很多时候,我们需要在sql里面直接解析json字符串。这里针对mysql5.7版本的分水岭进行区分。

查看MySQL版本:

SELECT VERSION();

对于mysql5.7以上版本

使用mysql的内置函数JSON_EXTRACT(column, '$.key'),这个函数有两个参数,第一个参数column代表json列的列名;第二个参数key代表json字符串中的某一个key。

SELECT JSON_EXTRACT('{"name":"张三","age":"18"}', '$.name') AS '姓名';
输出结果:"张三"

 从上述结果来看,获取的输出结果处多了引号,因此需要考虑引入JSON_UNQUOTE函数 ,该函数的作用是去除获取内容外面的引号(" ")

SELECT JSON_UNQUOTE(JSON_EXTRACT('{"name":"张三","age":"18"}', '$.name')) AS '姓名';
输出结果:张三

上述为常规的json字符串形式,如果某一个列里面存储的是一个jsonArray,此时该怎么办了?接着往下面看:

实例:

猜你喜欢

转载自blog.csdn.net/y_bccl27/article/details/113920241