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

如何用Groovy提取JSON中动态数字键下的title字段?

提取动态Key下的JSON字段值

优先推荐:操作解析后的Map对象

你的代码无效是因为pages是Map结构(键为动态数字,值是包含title的对象),Groovy里不能用.(*)遍历Map的键。正确做法是直接获取Map的所有值,再提取title:

如果pages里只会有一个动态Key:

def title = ParsedResponse.query.pages.values().first().title

如果pages可能存在多个动态Key,需要批量提取title:

def allTitles = ParsedResponse.query.pages.values().collect { it.title }
// 按需取对应位置的title,比如第一个或遍历处理

备选方案:正则匹配(不推荐)

如果必须用正则处理原始JSON字符串(注意是未解析的原始响应文本,不是已解析的对象),可以用如下方式匹配title值:

// 假设rawResponse是接口返回的原始JSON字符串
def matcher = (rawResponse =~ /"title"\s*:\s*"([^"]+)"/)
if (matcher.find()) {
    def title = matcher.group(1)
}

但正则处理JSON风险很高,一旦JSON结构微调(比如字段顺序变化、出现转义字符)就会失效,所以优先用解析后的Map操作。

内容的提问来源于stack exchange,提问作者Juan Arredondo Andrade

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.20 22:27:28