相关疑难解决方法(0)

如何将JSON字段名称映射到不同的对象字段名称?

对于以下jax-b注释,Jackson json注释中的等价方式是什么?

我需要生成json而不是xml,并且需要知道在jax-b中等效表示的传统jackson注释.

  1. 重命名一个字段.
  2. 使用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_ ;
}
Run Code Online (Sandbox Code Playgroud)

重定向到使用属性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) …
Run Code Online (Sandbox Code Playgroud)

java xml json annotations jackson

37
推荐指数
2
解决办法
6万
查看次数

标签 统计

annotations ×1

jackson ×1

java ×1

json ×1

xml ×1