【问题标题】:Jackson deserialization into field from subnode?Jackson从子节点反序列化到字段?
【发布时间】:2016-05-27 22:32:35
【问题描述】:

我有课

public class Foo {
    String foo;
    String bar;
}

和 JSON

{
  "foo": "foo",
  "bar": {
    "bar": "bar"
  }
}

我可以使用任何 json 库对其进行反序列化,而无需将适配器/序列化器写入特定类。

也许某些 gson 的适配器需要行为? 但我没有找到现场适配器。我想写@MyJsonExpandAnnotation("bar.bar") 之类的注释,但我找不到可以访问字段的适配器。

【问题讨论】:

  • 我不确定注释,但github.com/google/gson google 的 gson 很容易使用。您不需要定义任何类/枚举来预映射任何 json。
  • 是的,但是我有很多类,我无法为它们编写自定义反序列化器。此外,我还有另一个领域,我不想失去 gson 的幕后工作,只处理我指定的领域。现在我正在尝试在 ReflectiveTypeAdapterFactory 中找到可以使用的东西。

标签: java json serialization jackson gson


【解决方案1】:

如果没有给定的注释示例,您将使用的基本上是

public class Foo {
    String foo;
    Bar bar;
}

public class Bar{
    String bar;     
}

虽然有一个开放的suggestion

【讨论】:

  • 感谢您的链接,似乎要等很长时间才能从杰克逊那里得到解决方案。对于您的回答,我不想创建另一个课程。我只想在 json 节点上执行平面地图。
  • @Monk3D 是的,afaik 不支持。
猜你喜欢
  • 1970-01-01
  • 2016-02-13
  • 1970-01-01
  • 2019-10-21
  • 1970-01-01
  • 1970-01-01
  • 2018-12-27
  • 2019-01-20
  • 1970-01-01
相关资源
最近更新 更多