在我的测试中,我需要比较预期和实际的JSON响应。但JSON响应受限于角色。所以我需要在比较时排除某些字段。 下面是JSON,我想从中筛选出2件事 1. CompanyId 2.地位。
{
userId=dg4d6g4dg45-rgdre-543-dfg,
userName=test123,
effectives=[
{
companyId=345634-54-547-74,
companyName=xyz,
roleId=685-345863490-634,
roleName=This is the test Role
},
{
companyId=345634-54-547-74,
companyName=xyz,
roleId=685-345863490-634,
roleName=This is the test Role
}
],
status=Active
}
有人可以让我知道如何实现这一目标。 我探索了SimpleBeanPropertyFilter的filterOutAllExcep方法,但是我必须弄清楚要记住所有应该包含的字段的逻辑。
答案 0 :(得分:0)
我想我已经找到了解决方法。 我正在使用Object Mapper并将数据模型转换为Map。 然后迭代地图并删除字段。 平面过滤很简单,但必须为嵌套字段提供一些逻辑。
// Convert the DataModel into a Map object
ObjectMapper mapper = new ObjectMapper();
Map mainObjectMap = mapper.convertValue(object, Map.class);