zoukankan      html  css  js  c++  java
  • [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






  • 相关阅读:
    13、文件修改及函数的基本使用
    12、文件处理 b模式
    作业3月16号
    作业3月13号
    11、文件处理 t模式
    10、数据类型内置之集合
    作业3月11号
    9、基础类型之列表、元组、字典
    作业3月10号
    8、for循环以及数字类型和字符串类型的内置方法
  • 原文地址:https://www.cnblogs.com/cathygx/p/11137487.html
Copyright © 2011-2022 走看看