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

使用JSONPath提取指定条件的JSON数据问题咨询

JSONPath提取特定label字段的解决方案

先假设你的目标JSON数组示例如下:

[
  {"key": "value1", "label": "Manual Entry"},
  {"key": "value2", "label": "Auto Generated"},
  {"key": "value2", "label": "Auto Sync"},
  {"key": "value3", "label": "User Input"}
]

需求1:提取key等于value2对应的label

使用以下JSONPath表达式即可直接获取目标值:

$.[?(@.key == 'value2')].label

执行后会返回:["Auto Generated", "Auto Sync"]

需求2:提取以Auto开头的label

你之前用的$.[?(@.label =~ /^Auto.*/)]未生效,大概率是因为不同JSONPath引擎的正则语法支持存在差异,这里给两种可靠的解决方式:

方式1:使用正则匹配(兼容主流引擎如Jayway)

确保正则表达式的写法符合引擎要求,正确表达式如下:

$.[?(@.label =~ /^Auto.*/)]

注意:如果你的JSONPath引擎要求正则用单引号包裹,可改为:

$.[?(@.label =~ '^Auto.*')]

方式2:使用startsWith函数(兼容性更强)

如果正则匹配仍有问题,建议用字符串起始匹配函数,兼容性更好:

$.[?(@.label.startsWith('Auto'))].label

执行后会返回:["Auto Generated", "Auto Sync"]

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.01 09:13:15