没有项目描述

jmatch的Python项目详细描述


jMatch

jmatch是一个testsuite用于JSON/YAML文件。它允许你检查这些 基于定义模式的规范的文件。如果你 需要检查很多json文件,或者如果您想在 持续集成管道。

目录

安装

通过PIP安装

确保安装了python3pip。使用pip安装jMatch 在您的壳中如下:

pip install jmatch

用法

一旦安装了jmatch,它就用来检查JSON/YAML文档 根据预先定义的规范。jmatch使用JSON/YAML来定义 作为搜索模式的规范选项。

规范模式示例

example用例:想象一下,一堆json格式的配置文件,所有这些 配置文件应该指定相同的文本编码(utf-8),以确保 所有系统都能正确地互操作。

解决方案:要实现给定用例的解决方案,另一个 需要指定json文档,其中至少包含以下数据 关于给定的问题。

  • 类型:infoerror
  • 消息:如果模式匹配,则打印消息
  • 模式:在文档中搜索以检查的信息或错误案例模式。
[{"_type":"error","_message":"The encoding should be UTF-8, but it is not.","_pattern":{"encoding":{"_not":"UTF-8"}}}]

我们要将问题标记为关键问题,我们使用错误类型。如果用于 ci管道,类型error强制管道失败,如果模式 比赛。对于我们要搜索的编码模式,使用一个值 不同于utf-8

< H3>检查JSON文档中是否存在模式< EH3>

如果我们想检查一个configfile.json文件是否与我们的 check-encoding-utf8.json。我们可以执行以下操作,假设 两个文件都在我们当前的工作目录中:

jmatch --target configfile.json check-encoding-utf8.json

如果配置文件包含在check-encoding-utf8.json中指定的模式,则 ^显示指定的{}。

一次检查多个图案

jmatch允许一次检查许多模式,因此所有模式文件必须 运行jmatch时提供。

jmatch --target configfile.json pattern1.json pattern2.json [...]

要为jmatch提供多个模式文件,可以使用通配符表达式, 要方便地指定许多模式文件:

jmatch --target hello.json pattern*.json

标志

有许多不同的标志可以更改jmatch的默认行为。你可以 使用--help标志显示所有可用选项。

支架

open an issue支持。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
如果在每次迭代后返回到原始状态,java是否可以安全地对正在迭代的数组进行变异?   linux java对'main'集合的未定义引用2:ld返回1退出状态   java如何在dynamodb上按多个字段进行排序(有解决方法吗)?   java错误处理servlet停止工作,我不知道原因:(   多线程如何在Java中暂停/恢复ExecutorService中的所有线程?   java为什么是我的jsoup。连接(url)无法使用某些url?   多线程理解Java多线程中的内存可见性   java sonar scanner可以在没有sonarqube服务器的情况下工作吗   如何从java中的页面获取不同的url?   java从文件中查找命令行中指定的单词   java类的“set”方法是否应该返回“void”或“boolean”?   如何使用java代码批量读取文件内容   二进制十进制(java.lang.NumberFormatException)   java如何在同一个句子中分别替换同一个单词但大小写不同?   java Spring `RestController`方法注释了`Transactional`,但“当前没有活动的事务”?   java OWL API:如何将域分配给OWLObjectProperty上的范围   java变量末尾的$有特殊意义吗?   java什么距离计算(经度、纬度)更精确?   卡片布局java GUI