MySQL查询JSON字段返回结果带方括号和引号 如何去除
MySQL JSON查询返回值去除方括号引号解决方案
问题原因
使用$.*.referal作为JSON查询路径时,路径中的*通配符会匹配JSON顶层的所有键,符合匹配条件的结果会自动封装为数组返回,因此查询结果会出现包裹的方括号。
解决方案
方案1:已知顶层键名时直接写完整路径
如果确认JSON顶层键名为固定值100,直接指定完整路径即可直接返回字符串结果:
SELECT stored_json->>'$.100.referal' AS referal FROM `table` WHERE id = 100;
方案2:顶层键名动态时取数组首元素
如果顶层键名不固定无法提前指定,在原有路径后加[0]取返回数组的第一个元素即可:
SELECT stored_json->>'$.*.referal[0]' AS referal FROM `table` WHERE id = 100;
注意事项
- 不推荐使用
REPLACE等字符串处理函数暴力去除括号和引号,若referal字段值本身包含方括号、双引号会出现误替换问题,优先使用JSON原生操作语法处理更稳妥。
内容的提问来源于stack exchange,提问作者Jules
相关产品推荐
相关产品推荐

