aeson-match-qq:声明性JSON匹配器。

[bsd2型,图书馆,网状物][建议标签]
版本[RSS(RSS)] 1.0.0,1.1.0,1.2.0,1.2.1,1.2.2,1.3.0,1.3.1,1.3.2,1.4.0,1.4.1,1.4.2,1.4.3,1.5.0,1.5.1,1.5.2,1.5.3,1.6.0,1.6.1,1.7.0
更改日志 CHANGELOG.标记
依赖关系 伊森,阿托帕塞克,基础(>=4.14 && <5),字节删除,对案件敏感,容器,任何一个,哈斯克尔-src-meta,漂亮的,科学的,template-haskell模板,文本,无序控制器,矢量[细节]
许可证 BSD-2条款
版权 Matvey Aksenov 2022年
作者
维护人员 matvey.aksenov@gmail.com
类别 网状物
主页 https://github.com/supki/aeson-match-qq#自述文件
Bug跟踪器 https://github.com/supki/aeson-match-qq/issues
源回购 头部:git克隆https://github.com/supki/aeson-match-qq
已上传 通过马特维·阿克塞诺夫2023-07-19T10:33:45Z
分配 尼克斯(NixOS):1.7.0
下载 总计1797人(过去30天内有44人)
额定值 (尚未投票)[估算人贝叶斯平均]
您的评分
  • λ
  • λ
  • λ
状态 可用文档[生成日志]
上次成功报告时间:2023-07-19[所有1个报告]

aeson-match-qq-1.7.0自述文件

[返回包描述]

aeson-match-qq

生成状态

声明性JSON匹配器。

动机

在测试大量JSON文档的HTTP服务时,通常很难将整个响应写成期望值。有时,您只关心几个特定属性,或者只是想确保响应具有一定的结构。这个包提供了一个准引用来定义使用变量的声明性匹配器熟悉的语法。

特征

基本JSON构造

由于此套餐的灵感来源于aeson-qq系列,解析器尝试跟踪其行为,并支持简单键和#{经验}Haskell表达式插值的语法。它目前不支持变量键,但没有添加它们的计划。

数组和对象的扩展式语法

此语法允许您只匹配您关心的结构部分:

[匹配|1,2,3,…]|]匹配以开头的数组[1, 2, 3]
[match|{foo:1,bar:2,…}|]匹配的超集对象{foo:1,bar:2}

孔是匹配任何内容的占位符:

[匹配|_|]匹配任何JSON文档
[匹配|{foo:_}|]匹配任何具有foo公司属性。

如果命名了孔,则其值将从比赛

[匹配|{foo:{bar:_n}|]将返回{编号:4}如果匹配{foo:{bar:4}}

不区分大小写的字符串

对JSON语法的一个小添加,允许忽略大小写的字符串匹配:

[match|(ci)“foo”|]匹配任何“傻瓜”,“免费”,或“FOO”.

无序阵列

对JSON语法的一个小添加,允许忽略顺序的数组匹配元素,例如:

[匹配|(无序)[1,2,3]|]比赛[3, 1, 2].