Java Jackson:基于实现接口的对象标识序列化/反序列化 接口Foo 公共字符串密钥() 类栏实现了Foo 公共int id; 公共字符串名称; 公共酒吧2酒吧2

Java Jackson:基于实现接口的对象标识序列化/反序列化 接口Foo 公共字符串密钥() 类栏实现了Foo 公共int id; 公共字符串名称; 公共酒吧2酒吧2,java,jackson,jackson2,Java,Jackson,Jackson2,您需要一个用于公共属性的getter方法。将Foo更改为抽象类,并在其中定义属性和getter方法 interface Foo public String key() class Bar implements Foo public int id; public String name; public Bar2 bar2; <--- bar2.key() should be used as json value String key() { return name }

您需要一个用于公共属性的getter方法。将Foo更改为抽象类,并在其中定义属性和getter方法

interface Foo
  public String key()

class Bar implements Foo
  public int id;
  public String name;
  public Bar2 bar2;  <--- bar2.key() should be used as json value
  String key() { return name }

class Bar2 implements Foo
  public int id;
  public int name;
  public Bar bar;  <--- bar.key() should be used as json value
  String key() { return name }

您需要一个用于公共属性的getter方法。将Foo更改为抽象类,并在其中定义属性和getter方法

interface Foo
  public String key()

class Bar implements Foo
  public int id;
  public String name;
  public Bar2 bar2;  <--- bar2.key() should be used as json value
  String key() { return name }

class Bar2 implements Foo
  public int id;
  public int name;
  public Bar bar;  <--- bar.key() should be used as json value
  String key() { return name }