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

如何使用Spectral Linting检测指定Tag是否存在

检测指定Tag是否缺失的实现方法

你当前使用的paths[*]..summary只能匹配到存在且有有效值的summary标签,要检测标签本身缺失,需要用JSONPath的过滤表达式实现,具体操作如下:

  • 方案1:精准判断标签是否存在(最推荐,不会误判空值场景)
    用hasOwnProperty判断键是否存在,查询所有缺少summary标签的父节点:
    paths[*][?(!(@.hasOwnProperty('summary')))]
    
    执行后返回的结果就是所有本身没有summary键的节点集合,如果结果为空说明所有待检查节点都有summary标签,反之则返回对应的缺失节点。
  • 方案2:兼容不支持hasOwnProperty的运行环境
    用undefined判断实现:
    paths[*][?(@.summary === undefined)]
    
    效果和方案1一致,适配部分对原生方法支持不全的JSONPath解析器。

注意:不要使用paths[*][?(!@.summary)]这类简化写法,该写法会把summary值为false、0、""、null的节点误判为标签缺失,不符合检测「标签本身是否存在」的需求。

如果需要跨任意层级检测缺失的summary标签,可调整语法为$..[?(!(@.hasOwnProperty('summary')))],按需限定匹配范围即可。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 01:15:04