mysql5.7版本后支持json字段的检索查询。
使用字段->'$.json属性' 进行查询条件
使用 json_extract 函数查询 ,json_extract(字段,"$.json属性")
根据 json数组 查询,JSON_CONTAINS(字段,JSON_OBJECT('json属性', "内容"))
1、使用 字段->'$.json属性'进行查询条件
{"id": 1366,"name": "沈庆林"}
指定查询rectificationParticipant字段中id值为1366的数据:
select * from table_test where rectificationParticipant->'$.id' = '1366'
2、使用json_extract函数查询,json_extract(字段,"$.json属性")
查询条件同上:
select * from table_test where json_extract(rectificationParticipant,"$.id")
3、根据json数组查询,用JSON_CONTAINS(字段,JSON_OBJECT('json属性', "内容"))
例如字段str存储的JSON数组为:
[{"id": 1367, "name": "李加玉"}, {"id": 1366, "name": "沈庆林"}]
查询条件为查询数组中id为1366的数据:
SELECT * FROM `dangerrectification` where JSON_CONTAINS(rectificationParticipant,JSON_OBJECT('id',1366))