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

如何用JSONPath提取匿名嵌套JSON块中指定key对应的value?

JSONPath提取指定key对应value的问题解决

你的表达式失效的核心问题是过滤条件的位置放错了:

  • 原表达式$.result.extras[*].value[?(key='update_frequency')]中,[*].value已经将路径定位到了所有extras对象的value字符串上,此时再用[?(key='update_frequency')]过滤,当前上下文是单个字符串,根本不存在key属性,自然匹配不到结果。

正确的JSONPath表达式

要实现需求,需要先筛选数组中符合条件的对象,再提取其value:

$.result.extras[?(@.key == 'update_frequency')].value
  • 解释:
    1. [?(@.key == 'update_frequency')]:在extras数组中遍历每个对象(@代表当前遍历的数组元素),筛选出key等于update_frequency的对象;
    2. .value:从筛选出的对象中提取对应的value值。

部分JSONPath实现允许用=替代==,所以也可以写成:

$.result.extras[?(@.key='update_frequency')].value

这个表达式不受extras数组的元素数量、顺序影响,只要存在目标key就能准确提取对应value。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.10 19:40:31