You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在MySQL中简便提取嵌套JSON结构的深层字段值

MySQL提取嵌套JSON的简便方案

有两种比CTE更简便的实现方式:

  • 方案1:直接使用嵌套JSON路径(最推荐)
    MySQL原生支持在JSON路径表达式中直接指定多层级key,不需要拆分提取步骤,写法如下:
-- 提取结果为JSON字符串类型(保留外层双引号)
SELECT my_json -> '$.outer_key.inner_key' FROM json_test;

-- 提取结果为纯文本字符串(自动去除外层双引号)
SELECT my_json ->> '$.outer_key.inner_key' FROM json_test;

执行结果和你通过CTE得到的结果完全一致。

  • 方案2:括号包裹实现链式调用
    如果你习惯PostgreSQL的链式提取写法,只需要把前一步的提取结果用括号包裹,明确运算优先级即可避免语法错误:
-- 链式提取带引号的JSON结果
SELECT (my_json -> '$.outer_key') -> '$.inner_key' FROM json_test;

-- 链式提取纯文本结果
SELECT (my_json -> '$.outer_key') ->> '$.inner_key' FROM json_test;

你之前链式写法报错的原因是MySQL的运算符优先级解析逻辑,未加括号时无法正确识别前一步返回的JSON类型结果,加括号后即可正常按顺序执行提取操作。

内容的提问来源于stack exchange,提问作者yrom1

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.05 08:18:04