用MySQL操作json格式的数据列

       话不多说,上需求,根据数据库中接口情况的表做一个前端展示页和一个润乾报表,可以处理接口状态。可视化的处理接口情况。需求不难,只是对数据的展示和更新。当我看到这个表的时候,我就emo了。

        表字段不多,但是接口上的请求参数,他全怼到一个列里进行存储。我报表和前端列表怎么也展示不完这么多的啊,而且相当的吃藕!老大给的时候就说了,自由发挥,做出来要好看。

 

        这是一个列的数据,这么的长,还是json格式的,还是json里面套json

 那么,MySQL中有没有这种函数可以处理呢?

JSON_EXTRACT(字段名,json中字段名1,json中字段名2,...) 函数就可以解决;(json中字段名,即为key,通过json的key,取value的值)

SELECT
	 JSON_EXTRACT( 字段, '$.json格式的字段名' ) as 别名 from 表 

得到:

由于这个表中的json串太长了,我就把列中的几个json串合在一列进行展示;

select JSON_EXTRACT( 字段名, '$.json格式字段1', '$.json格式字段2', '$.json格式字段3' ) as 别名
from 表

 得到:

 就是这样展示了,是不是还是不好看。有“”,这时候,我们可以用

JSON_UNQUOTE(字段) 转换为字符串,

SELECT 
	 JSON_UNQUOTE(JSON_EXTRACT( 字段, '$.json格式的字段' ) ) AS 别名 FROM 表

当然这还没有结束,上面几个字段合一起展示的时候,外层会用[ ] 框住,很吃藕;于是我就用replace给替换了

SELECT 
	 REPLACE ( REPLACE ( JSON_UNQUOTE( JSON_EXTRACT( 字段, '$.json格式中字段名1', '$.json格式中字段名2', '$.json格式中字段名3' )), '[', '' ), ']', '' ) AS 别名 FROM 表

得到:

 

 基本上,这样就满足了需求;然后页面的话也不会很丑。给大佬们看一下,

 

 

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ITdogg

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值