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 listSizefrom prptable where REQUESTTYPE = 'REGIST' and requestbody like '%docCode%' ) jsonStrwhere listSize > 1order by id desc