开发者

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

开发者 https://www.devze.com 2024-08-13 12:17 出处:网络 作者: wuchongyong
目录mysql获取json字符串/数组的值Mysql获取 json字段中指定的值 ( MySQL 5.7 上下两种方式 )总结Mysql获取json字符串/数组的值
目录
  • mysql获取json字符串/数组的值
  • Mysql获取 json字段中指定的值 ( MySQL 5.7 上下两种方式 )
  • 总结

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

单个json的,获取值使用js编程客栈on_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的,获取数组的值使用jjsson_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-http://www.devze.com4739-9e57-b301c1e3529d",
        "expires_in": 3599,
        "scope": "app"
    }
}

MySQL 5.7 以上可直接使用函数 JSON_EXTRACT 获取

select replace(json_extract(rjavascriptemark, '$.datjavascripta.budgetNum'), '"', '')
from sys_user;

结果:

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

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

select REPLACE(
                       remark,
                       CONCAT(
                               SUBSTRING_INDEX(remark, '"access_token":', 1),
                               '"access_token":"'
                           ),
                       ''
                   ) from sys_user;

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程客栈(www.devze.com)。

0

精彩评论

暂无评论...
验证码 换一张
取 消

关注公众号