MYSQL中解析json格式数据
MYSQL中解析json格式数据
1、判断是否是json格式数据
JSON_VALID(requestbody)
注:requestbody为指定字段
2、解析json中的指定字段(可多层嵌套)
JSON_EXTRACT(requestbody, '$.body')
注:requestbody为指定字段,body为json中的key
3、计算json中指定数组的长度
JSON_LENGTH()
4、完整示例
select * from (
select
*,
CASE
WHEN JSON_VALID(requestbody)
THEN JSON_LENGTH(JSON_EXTRACT(JSON_EXTRACT(JSON_EXTRACT(requestbody, '$.body'), '$.collectInfo'), '$.collectguideInfo') )
ELSE null
END as listSize
from prptable
where REQUESTTYPE = 'REGIST'
and requestbody like '%docCode%'
) jsonStr
where listSize > 1
order by id desc