当前位置: 代码网 > it编程>编程语言>Javascript > Mysql如何获取json字符串/数组的值

Mysql如何获取json字符串/数组的值

2024年08月09日 Javascript 我要评论
mysql获取json字符串/数组的值单个json的,获取值使用json_extract`select json_extract('{"name":"zhaim","tel":"13240133388

mysql获取json字符串/数组的值

单个json的,获取值使用json_extract

`select json_extract('{"name":"zhaim","tel":"13240133388"}',"$.tel`");

数组的json的,获取数组的长度使用json_length

select id,json_length('[{"id":"10000004555096","name":"1.docx"},{"id":"10000004555098","name":"2.doc"},{"id":"10000004555097","name":"3.html"}]'),f_zwm,f_dhhm from `w_b01rzcllc` limit 10;

数组的json的,获取数组的值使用json_extract

select id,json_extract('[{"id":"10000004555096","name":"1.docx"},{"id":"10000004555098","name":"2.doc"},{"id":"10000004555097","name":"3.html"}]',"$[0].name"),f_zwm,f_dhhm from `w_b01rzcllc` limit 10;

mysql获取 json字段中指定的值 ( mysql 5.7 上下两种方式 )

json:

{
    "success": true,
    "code": 0,
    "msg": "操作成功",
    "data": {
        "access_token": "333d8c09-e522-4585-8cca-1d9c66e5cece",
        "token_type": "bearer",
        "refresh_token": "48a3e598-0e3e-4739-9e57-b301c1e3529d",
        "expires_in": 3599,
        "scope": "app"
    }
}

mysql 5.7 以上可直接使用函数 json_extract 获取

select replace(json_extract(remark, '$.data.budgetnum'), '"', '')
from sys_user;

结果:

mysql 5.7 以下可利用分割函数进行获取

select replace(
                       remark,
                       concat(
                               substring_index(remark, '"access_token":', 1),
                               '"access_token":"'
                           ),
                       ''
                   ) from sys_user;

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持代码网。

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com