[JSON123] A JSON Compare Tool
Posted cathygx
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[JSON123] A JSON Compare Tool相关的知识,希望对你有一定的参考价值。
https://github.com/fslev/json-compare
使用到的库
Jackson (学习资料:https://www.yiibai.com/jackson)
Class: DefaultJsonComparator implements JsonComparator
Functions: 均使用Pattern.matcher进行比较
- compareValues: 比较value(Object类型支持多种类型)
- compareFields: 比较key值(指定String类型)
Class: JSONCompare
Functions: 重载多种用户自定义模式
- assertEquals: new JsonMatcher
- assertNotEquals: new JsonMatcher
- getJson: 校验输入String是否符合Json文件格式定义;若符合则return JsonNode
- prettyPrint: return String
Class: JsonMatcher extends AbstractJsonMatcher
Functions:
- matches(): 校验actualJsonNode Type是否一致;若一致则继续对node进行匹配new JsonObjectMatcher /JsonArrayMatcher /JsonTextMatcher
- getUseCase()
- sanitize()
- isJsonObject()
- isJsonArray()
- isJsonText()
- areOfSameType()
Variables:
- JsonComparator comparator
- Set<CompareMode> compareMode
- JsonNode expected, actual
Class:
JsonObjectMatcher
extends AbstractJsonMatcher
Functions:
- matches(): 遍历expected的每个key,并根据UseCase来校验actual
key是否匹配;若key匹配,则通过递归调用(new
JsonMatcher)来校验value对象是否匹配。
Class:
JsonArrayMatcher extends AbstractJsonMatcher
Functions:
- matches(): 遍历expected的每个元素,根据UseCase,通过递归调用 (new JsonMatcher)来校验子元素是否匹配。
Class:
JsonTextMatcher extends AbstractJsonMatcher
Functions:
- Matches(): 终结点value的比较,先校验actual的valueType是否匹配;若一致则对value进行匹配
Class: MatcherException extends
Exception
Enum: CompareMode
以上是关于[JSON123] A JSON Compare Tool的主要内容,如果未能解决你的问题,请参考以下文章