mysql查询json字符串内容

文章详细介绍了如何在MySQL中使用JSON_EXTRACT函数对包含多层嵌套的JSON字符串进行查询,包括提取`baseInfo`下的不同字段,如`sms_content`,`sms_sign`,`templateDTOS`,`template_content`,和`smsTemplateList`的内容。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

参考文章:mysql json 基础查询_mysql json查询-优快云博客 

  1. mysql查询json字符串内容 (多层数组嵌套) 

select id,name
       JSON_EXTRACT(JSON_UNQUOTE(JSON_EXTRACT(JSON_UNQUOTE(config_json), '$.baseInfo')), '$.template_list[*].sms_content') sms_content,
       JSON_EXTRACT(JSON_UNQUOTE(JSON_EXTRACT(JSON_UNQUOTE(config_json), '$.baseInfo')), '$.template_list[*].sms_sign') sms_sign,
       JSON_EXTRACT(JSON_UNQUOTE(JSON_EXTRACT(JSON_UNQUOTE(config_json), '$.baseInfo')), '$.template_list[*].templateDTOS[*].smsTemplet') smsTemplate,
       JSON_EXTRACT(JSON_UNQUOTE(JSON_EXTRACT(JSON_UNQUOTE(config_json), '$.baseInfo')), '$.template_list[*].smsTemplateList[*].template_content') template_content,
       JSON_EXTRACT(JSON_UNQUOTE(JSON_EXTRACT(JSON_UNQUOTE(config_json), '$.baseInfo')), '$.template_list[*].smsTemplateList[*].template_sign') template_sign
from t_config_json config 
where config_json like '%template_list%'
order by create_time desc;

     2. mysql 中json提取查询

select id, name
       JSON_EXTRACT(JSON_UNQUOTE(JSON_EXTRACT(JSON_UNQUOTE(config_json), '$.baseInfo')), '$.sms_templet') smsTemplate,
       JSON_EXTRACT(JSON_UNQUOTE(JSON_EXTRACT(JSON_UNQUOTE(config_json), '$.baseInfo')), '$.sms_sign') smsSign,
       JSON_EXTRACT(JSON_UNQUOTE(JSON_EXTRACT(JSON_UNQUOTE(config_json), '$.baseInfo')), '$.templateDTOS[*].smsTemplet') dtoContent,
       JSON_EXTRACT(JSON_UNQUOTE(JSON_EXTRACT(JSON_UNQUOTE(config_json), '$.baseInfo')), '$.templateDTOS[*].smsTempletId') dtoTempletId,
       JSON_EXTRACT(JSON_UNQUOTE(JSON_EXTRACT(JSON_UNQUOTE(config_json), '$.baseInfo')), '$.smsTemplateList[*].template_content') listContent,
       JSON_EXTRACT(JSON_UNQUOTE(JSON_EXTRACT(JSON_UNQUOTE(config_json), '$.baseInfo')), '$.smsTemplateList[*].template_sign') listSign,
       JSON_EXTRACT(JSON_UNQUOTE(JSON_EXTRACT(JSON_UNQUOTE(config_json), '$.baseInfo')), '$.smsTemplateList[*].template_id') listTempletId,
			 JSON_EXTRACT(JSON_UNQUOTE(JSON_EXTRACT(JSON_UNQUOTE(config_json), '$.baseInfo')), '$.sms_rule_template_list[*].smsTemplateList') listTempletId
from t_config_json 
where operation_status=2
order by create_time desc;

3. mysql中转义字符like查询

json中原内容:

select * from t_config_json where id = 2580 and config_json like '%\\\\"TempletType\\\\":2%'

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值