之前在工作中使用遇到的一些问题,下面把这些情况给简单分享一下,不多说,直接上问题。
1.问题背景
json格式数据如下图所示,b是一个对象数组,里面包含四个对象,现在需要解析出每个数组中的spid,一般来说数组中包含的对象个数为0-n,是一个不确定的数,下图图二实例为4个。
图一
图二
2.实现思路
1.使用get_json_object()函数
2.配合正则解析实现任意个匹配
3.代码实现
select imp_date,
get_json_object(your_column,'$.a.b[*].c1.spid')as spids
from tmp where imp_date = %(date)s;
4.总结
整体思路是使用正则函数根据关键字获取值,如果有其他更好的实现方法,欢迎在下方评论区说出你的思路!