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

如何编写JSON Path实现对attributes下description数组的过滤?

JSON Path 过滤数组字段的正确写法

问题分析

你之前的写法$..[?(@.attributes.description == 'Newgroup')]无效,核心原因是attributes.description是数组类型,直接用它和字符串做相等比较,类型不匹配,JSON Path无法完成匹配。

正确表达式

根据需求分两种场景给出写法:

  1. 精确匹配数组指定位置的元素
    如果description是固定的单元素数组,可直接通过索引获取元素后比较:
$..[?(@.attributes.description[0] == 'New group description')]

(对应你参考数据里第二个条目description的实际值)

  1. 检查数组中是否包含目标值
    如果数组可能有多个元素,或不确定目标值位置,用in关键字判断值是否存在于数组中:
$..[?('Newgroup' in @.attributes.description)]

参考JSON数据

[
  {"name": "NeWgR34","path": "/NeWgR34","attributes": {"description": ["De5cr$p(0#.,"]}},
  {"name": "Newgroup","path": "/Newgroup","attributes": {"description": ["New group description"]}}
]

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.08 12:54:58