【问题标题】:How to ignore certain attributes when comparing two json files using skyscreamer使用 skyscreamer 比较两个 json 文件时如何忽略某些属性
【发布时间】:2018-01-24 18:48:57
【问题描述】:

在使用 skyscreamer 比较两个 JSON 文件时,我想排除某些 JSON 属性。

测试文件1:

 {
   "Name":"test1",
   "addressList":[
      {
         "street":"123 fake street",
         "postalcode":"33344"
      },
      {
         "street":"99 street avn",
         "postalcode":"23434"
      },
      {
         "street":"900 street city",
         "postalcode":"45100"
      }
   ]
}

测试文件2:

 {
   "Name":"test1",
   "addressList":[
      {
         "street":"123 fake street",
         "postalcode":"33344"
      },
      {
         "street":"88 abc street",
         "postalcode":"23434"
      },
      {
         "street":"900 street city",
         "postalcode":"45100"
      }
   ]
}

如何通过排除addressList.street属性来比较上述JSON文件?

【问题讨论】:

标签: java json jackson


【解决方案1】:

我们可以使用 CustomComparator 并根据需要编写自己的自定义比较器

 org.skyscreamer.jsonassert.Customization
 org.skyscreamer.jsonassert.comparator.CustomComparator

示例:

compareJSON(expected, actual,  new CustomComparator(JSONCompareMode,new Customization(addressList.street,(o1, o2) -> true)))

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-12-15
    • 2010-11-17
    • 2022-12-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-05-29
    • 1970-01-01
    相关资源
    最近更新 更多