正常的json使用mysql 取数据如下即可
-- 查询记录
SELECT sname,JSON_EXTRACT(info,'$.age') FROM t_json;
SELECT sname,info->'$.age' FROM t_json;
当从数组重取数据时,需要添加数组下标,
-- 查询记录
SELECT sname,JSON_EXTRACT(info,'$[0].age') FROM t_json;
SELECT sname,info->'$[0].age' FROM t_json;
$[0]: 0代表数组下标 ,取第一条数据,注意,解析后的数据带双引号,可使用replace函数替换
json数组查询,用 JSON_CONTAINS(字段, JSON_OBJECT('json属性', "内容")) : [{}]查询这种形式的json数组
-- 查询记录
SELECT * FROM t_json WHERE JSON_CONTAINS(info,JSON_OBJECT('age','18')) ;