java - 从 JSON 中的多值元素中过滤单个元素

标签 java json jackson rest-assured

在我的测试中,我需要比较预期和实际的 JSON 响应。但 JSON 响应根据角色的不同而受到限制。所以我需要在比较时排除某些字段。 下面是 JSON,我想从中过滤掉 2 个内容。
1. 公司ID 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 方法,但随后我必须找出逻辑来记住所有应该包含的字段。

最佳答案

我想我已经找到了解决方案。 我正在使用对象映射器并将数据模型转换为映射。 然后迭代 map 并删除字段。 平面过滤很简单,但必须纠正嵌套字段的一些逻辑。

        // Convert the DataModel into a Map object
        ObjectMapper mapper = new ObjectMapper();
        Map mainObjectMap = mapper.convertValue(object, Map.class);

关于java - 从 JSON 中的多值元素中过滤单个元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34668027/

相关文章:

java - 构建的java类不代表变化

java - 用于反序列化的 Jackson Json View

java - 关于 Jackson 转换 Java 数据类型

java - 解析时访问 JSON 值

json - Dropwizard/泽西 : Authentication and JSON parameter

java - 在java中编写这种for循环的优雅方式

java - Android Q 上的 BitmapFactory : Unable to decode stream: java. io.FileNotFoundException:打开失败:EACCES(权限被拒绝)

java - Spring boot 数据不保存到数据库

python - 将 Python 枚举编码为 JSON

javascript - 如何递归添加未知的原始元素?