如何在MySQL中查询JSON字段 用JSON_EXTRACT提取指定路径的值
MySQL JSON字段提取方案
你可以通过JSON_EXTRACT()函数或其对应的简写操作符实现目标字段提取,具体写法如下:
1. 标准JSON_EXTRACT()写法
假设存储JSON内容的字段名为json_field,表名为your_table,查询语句为:
SELECT JSON_EXTRACT(json_field, '$.key1[0].firstname') AS target_name FROM your_table;
路径规则说明:
$指代JSON根节点,key1[0]表示key1对应数组的第0个元素,firstname为目标字段。
该语句返回结果默认带双引号,值为"jane"。
如果需要简化写法,可以直接使用MySQL提供的->操作符,效果和上述语句完全一致:
SELECT json_field->'$.key1[0].firstname' AS target_name FROM your_table;
2. 无额外引号的纯文本返回
如果你需要直接得到不带双引号的jane,可以用以下两种写法:
- 搭配
JSON_UNQUOTE()函数包裹JSON_EXTRACT()的结果:
SELECT JSON_UNQUOTE(JSON_EXTRACT(json_field, '$.key1[0].firstname')) AS target_name FROM your_table;
- 直接使用无引号简写操作符
->>:
SELECT json_field->>'$.key1[0].firstname' AS target_name FROM your_table;
内容的提问来源于stack exchange,提问作者membersound
相关产品推荐
相关产品推荐

