如何将 JSON 字段名称映射到不同的对象字段名称?
2022-08-31 20:07:31
Jackson json 注释中以下 jax-b 注释的等效方式是什么?
我需要生成 json 而不是 xml,并且需要知道在 jax-b 中等效表示的传统 jackson 注释。
- 重命名字段。
- 使用 getter 而不是字段。
如果 json/xml 元素名称是 Java 保留词(如 “”、“”、“”) 等,则这些功能尤其重要。new
public
static
因此,我们必须将 POJO 字段分别命名为 “_new_”、“_public_”、“_static_” 等,
但是使用jax-b注释将它们重命名为生成的XML(和json)元素中的“new”,“public”,“static”等。
重命名字段
@XmlAccessorType(XmlAccessType.FIELD)
public class Person{
@XmlElement(required = true)
protected String name;
@XmlElement(required = true)
protected String address;
@XmlElement(name = "contractor")
protected boolean _restricted_ ;
@XmlElement(name = "new")
protected boolean _new_ ;
}
重定向至使用属性 getter(我认为这是在 jax-b 中完成的方式)
@XmlAccessorType(XmlAccessType.PROPERTY)
public class Person{
protected String name;
protected String address;
protected boolean _restricted_ ;
protected boolean _new_ ;
@XmlElement(required = true)
protected String getName() {return name;}
@XmlElement(required = true)
protected String getAddress() {return address;}
@XmlElement(name = "contractor")
protected boolean getRestricted() {return _restricted_;}
@XmlElement(name = "new")
protected boolean getNew(){return _new_;}
}