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

如何让pre-commit的check-jsonschema校验.meta后缀类JSON文件?

解决check-jsonschema校验.meta后缀JSON文件的问题

问题描述

项目中有大量.meta后缀的JSON结构文件,希望通过pre-commit的check-jsonschema钩子做Schema校验,但指定files: ^data/.*\.meta$后钩子会跳过校验,而.json文件能正常检测违规。

原因分析

check-jsonschema钩子默认会根据文件扩展名过滤,只处理它识别为JSON的文件(比如.json、.json5等),.meta不在默认列表里,所以即使通过files参数匹配到文件,也会被内部过滤跳过。

解决办法

在钩子参数中添加--filter-files=false,关闭钩子的文件类型过滤逻辑,这样所有被files参数匹配到的文件都会被当作JSON来校验。

修改后的pre-commit配置如下:

# .pre-commit-config.yaml
repos:
- repo: https://github.com/python-jsonschema/check-jsonschema
  rev: '0.27.3'
  hooks:
    - id: check-jsonschema
      name: Validate meta files
      args: ["--schemafile", "schemas/my_schema.json", "--filter-files=false"]
      files: ^data/.*\.meta$

额外注意事项

  • 确保.meta文件内容是标准JSON格式:比如示例数据里的中文引号(“”)要替换为英文引号(""),否则校验会直接失败。
  • 如果存在非JSON格式的.meta文件,可配合--skip-invalid参数跳过无效文件,但更建议统一文件格式以保证校验有效性。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.02 05:03:30