MySQL |
您所在的位置:网站首页 › json检测 › MySQL |
MySQL从5.7开始支持对于JSON的的各种操作,本文基于MySQL5.7.35-log版本演示。 查询MySQL版本的命令 select version(); 复制代码 JSON示例以下为jSON串示例: JSON对象 { "id":1, "name":"张三", "age":18 } 复制代码JSON数组 [ { "id":1, "name":"张三", "age":18 }, { "id":2, "name":"李四", "age":20 }, { "id":3, "name":"王五", "age":23 } ] 复制代码 提取JSON的keyJSON_KEYS函数用于提取JSON的key值,具体用法如下: SELECT JSON_KEYS('{"id":1,"name":"张三","age":18}') AS `keys`; 复制代码结果: 提取JSON的值JSON_EXTRACT函数用于提取JSON的值,具体用法如下: 提取JSON对象,单个key的值 通过$.key取单个值 SELECT JSON_EXTRACT('{"id":1,"name":"张三","age":18}', '$.name') AS `name`; 复制代码结果: 可以看到结果有引号,可以使用JSON_UNQUOTE函数对单个结果进行去引号操作。 SELECT JSON_UNQUOTE(JSON_EXTRACT('{"id":1,"name":"张三","age":18}', '$.name')) AS `name`; 复制代码结果: 提取JSON对象,所有key的值 通过$.*取所有值 SELECT JSON_EXTRACT('{"id":1,"name":"张三","age":18}', '$.*') AS `values`; 复制代码结果: 提取JSON数组的值提取JSON数组值的方式与提取单个JSON对象值方式基本无异。只是取值上有所差别。 取值方式:数字表示索引,从0开始,*表示所有。常用取值方式如下: $[0] JSON数组第一个对象 $[*] JSON数组所有对象 $[0].key JSON数组第一个对象对应key的值 $[*].key JOSN数组所有对象,对应key的值 复制代码以取出JSON数组中name的所有值为例: SELECT JSON_EXTRACT('[{"id":1,"name":"张三","age":18},{"id":2,"name":"李四","age":20},{"id":3,"name":"王五","age":23}]', '$[*].name') AS `names`; 复制代码结果: (完) 纸上得来终觉浅,绝知此事要躬行。 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |