使用嵌套地图计算地图以使特定值得到转换

时间:2018-05-14 13:35:30

标签: java collections hashmap

我有一个这样的特定地图:

"specialContent" : null, // needs to be transformed
"hasFlag": true,
"tehNumbers": 42432,
"ipsumStruct": {
  "loremKey": "loremValue",
  "subStructKey": {
    "subStructSubKey": "Apemaster 3000",
      "specialContentTwo": null // needs to be tranformed
  }
},
"foo": "fooValue",
"bar": "barValue"

正如您所看到的那样,某个特定条目包含 specialContent specialContentTwo 键。必须转换这些条目的值。改变它们的逻辑不是这里的重要部分。

我设法迭代地图的第一级并成功转换了第一个 specialContent 条目。我使用了map.compute

我的问题是实际尝试转换 specialContentTwo 的嵌套出现的代码,但我找不到优雅或智能的方法。我通过地图迭代地进行迭代。

我寻找满足以下条件的东西:

  • 使用谓词作为content -> content instanceof Content
  • 之类的值
  • 转换/计算谓词
  • 找到的新值
  • 在嵌套地图中查找出现次数

这里是否有MapUtils方法或其他符合我需求的方法?

1 个答案:

答案 0 :(得分:0)

假设您正在以JSON格式序列化和反序列化数据,您可以尝试使用Jackson库。 您可以使用给定的属性和类型定义Java类(字段也可以具有用户定义的类型),然后库将简单地为您实例化对象(查看ObjectMapper类)。