【问题标题】:Merge JSON String with Map using Jackson without deserializing the String使用 Jackson 将 JSON 字符串与 Map 合并,而不反序列化字符串
【发布时间】:2019-11-23 01:28:27
【问题描述】:

假设我有一个字符串{"foo": "bar"} 和一个地图Map("hello" -> "world")

使用 Jackson,我如何将它们组合成一个字符串 {"foo": "bar", "hello": "world"} 而不首先反序列化 foo-bar 字符串?

foo-bar String 来自另一个系统(可信,会返回有效的 JSON 字符串),反序列化为 Map 只是添加一些属性,然后将其序列化回 String 是低效的。

【问题讨论】:

  • 我认为这是你可以做到这一点的唯一方法,Java 无法理解 JSON,直到它被解析(有效与否)。如果你真的不想解析它,你可以序列化地图,删除左括号,删除另一个的右括号并在中间用逗号连接它们。
  • 我更喜欢反序列化而不是进行字符串连接

标签: java jackson jackson2


【解决方案1】:

用逗号替换结束大括号。
为您的地图生成 JSON 字符串。
从地图 JSON 中删除起始大括号。
连接字符串。

【讨论】:

  • 我期待比这更优雅的东西。哦,好吧... :)
猜你喜欢
  • 2019-10-31
  • 2012-08-09
  • 2020-05-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-08-02
  • 2011-12-29
相关资源
最近更新 更多