当前位置:网站首页> 关于mysql中的json解析函数JSON_EXTRACT
关于mysql中的json解析函数JSON_EXTRACT
2022-07-05 16:42:00 【1024问】
mysql json解析函数JSON_EXTRACT
例子
mysql5.7 json格式与json_extract方法
数据初始化
select语句
返回结果解析
用法解析
mysql json解析函数JSON_EXTRACTMYSQl自带的解析函数JSON_EXTRACT,用JSON_EXTRACT函数解析出来的函数会包含双引号
例子t_table表里面source字段是以json格式写的值为
{ "info" : { "color" : "白色", "inner_color" : "米色", "number" : "12345678", "registration_date" : "2012-11" },"accessory" : [ "1", "4", "5", "6", "7", "8", "9", "10" ],"remark" : "测试"}
查询color不去掉双引号,inner_color去掉双引号,remark去掉双引
select source->'$.info.color' as color,replace(source->'$.info.inner_color','"','') as inner_color,replace(source->'$.remark','"','') as remark from t_table
查询结果
“白色” | 米色 | 测试 |
json_test表数据,id和jsonstr字段(类型json)
{ "no": "7", "title": "运动方式", "content": [{ "text": "您平时经常进行的运动及时间", "item1": [{ "text": "慢跑 / 快走 / 走跑结合", "type": "select", "value": "selected" }, { "text": "上下楼梯 / 爬山", "type": "multselect", "value": "selected" }], "item2": [{ "text": "慢跑222走跑结合", "type": "text", "value": "慢跑2" }, { "text": "上下楼梯 / 爬山2", "type": "number", "value": "33" }] }]}
select语句SELECT id, json_extract( t.jsonstr, '$.*' ), json_extract( t.jsonstr, '$.title' ) AS "title", json_extract( t.jsonstr, '$.content' ) AS "content" , json_extract( t.jsonstr, '$**.text' ) AS "text" , json_extract( t.jsonstr, '$.content[*].item1[*]' ) AS "item1" FROM json_test t;
返回结果解析//json_extract( t.jsonstr, '$.*' )返回:["7", "运动方式", [{"text": "您平时经常进行的运动及时间", "item1": [{"text": "慢跑 / 快走 / 走跑结合", "type": "select", "value": "selected"}, {"text": "上下楼梯 / 爬山", "type": "multselect", "value": "selected"}], "item2": [{"text": "慢跑222走跑结合", "type": "text", "value": "慢跑2"}, {"text": "上下楼梯 / 爬山2", "type": "number", "value": "33"}]}]]//json_extract( t.jsonstr, '$.title' ) AS "title"返回:"运动方式"//json_extract( t.jsonstr, '$.content' ) AS "content" 返回:[{"text": "您平时经常进行的运动及时间", "item1": [{"text": "慢跑 / 快走 / 走跑结合", "type": "select", "value": "selected"}, {"text": "上下楼梯 / 爬山", "type": "multselect", "value": "selected"}], "item2": [{"text": "慢跑222走跑结合", "type": "text", "value": "慢跑2"}, {"text": "上下楼梯 / 爬山2", "type": "number", "value": "33"}]}]//json_extract( t.jsonstr, '$**.text' ) AS "text" 返回:["您平时经常进行的运动及时间", "慢跑 / 快走 / 走跑结合", "上下楼梯 / 爬山", "慢跑222走跑结合", "上下楼梯 / 爬山2"]//json_extract( t.jsonstr, '$.content[*].item1[*]' ) AS "item1" 返回:[{"text": "慢跑 / 快走 / 走跑结合", "type": "select", "value": "selected"}, {"text": "上下楼梯 / 爬山", "type": "multselect", "value": "selected"}]
用法解析‘$.*’ | 返回全部json |
‘$.title’ | 返回key=”title”的数据 |
‘$**.text’ | 返回所有最底层key=”text”的数据 |
‘$.content[*].item1[*]’ | 返回key=content的list的key=item1的list的所有内容 |
官方文档:https://dev.mysql.com/doc/refman/5.7/en/json.html
以上为个人经验,希望能给大家一个参考,也希望大家多多支持软件开发网。
边栏推荐
- Jarvis OJ Telnet Protocol
- 【7.7直播预告】《SaaS云原生应用典型架构》大咖讲师教你轻松构建云原生SaaS化应用,难题一一击破,更有华为周边好礼等你领!
- 干货!半监督预训练对话模型 SPACE
- Writing method of twig array merging
- 【剑指 Offer】66. 构建乘积数组
- 微信公众号网页授权登录实现起来如此简单
- 精准防疫有“利器”| 芯讯通助力数字哨兵护航复市
- Using C language to realize palindrome number
- 【jmeter】jmeter脚本高级写法:接口自动化脚本内全部为变量,参数(参数可jenkins配置),函数等实现完整业务流测试
- tf. sequence_ Mask function explanation case
猜你喜欢
随机推荐
干货!半监督预训练对话模型 SPACE
How does the outer disk futures platform distinguish formal security?
[Jianzhi offer] 61 Shunzi in playing cards
Is it safe to open futures accounts online? Will there be more liars online? Doesn't feel very reliable?
Iphone14 with pill screen may trigger a rush for Chinese consumers
Scratch colorful candied haws Electronic Society graphical programming scratch grade examination level 3 true questions and answers analysis June 2022
C# TCP如何设置心跳数据包,才显得优雅呢?
First day of learning C language
CMake教程Step3(添加库的使用要求)
tf. sequence_ Mask function explanation case
easyNmon使用汇总
【剑指 Offer】61. 扑克牌中的顺子
Embedded UC (UNIX System Advanced Programming) -1
DenseNet
Twig数组合并的写法
【testlink】TestLink1.9.18常见问题解决方法
飞桨EasyDL实操范例:工业零件划痕自动识别
CMake教程Step2(添加库)
网上办理期货开户安全吗?网上会不会骗子比较多?感觉不太靠谱?
编译libssh2报错找不到openssl