小编kiR*_*ach的帖子

序列化和反序列化期间JSON属性的不同名称

是否可能:在Jackson库中序列化/反序列化期间,在类中有一个字段,但它有不同的名称?

例如,我有"Coordiantes"课程.

class Coordinates{
  int red;
}
Run Code Online (Sandbox Code Playgroud)

对于来自JSON的反序列化,希望具有如下格式:

{
  "red":12
}
Run Code Online (Sandbox Code Playgroud)

但是当我将序列化对象时,结果应该是这样的:

{
  "r":12
}
Run Code Online (Sandbox Code Playgroud)

我尝试通过@JsonProperty在getter和setter上应用注释来实现它(具有不同的值):

class Coordiantes{
    int red;

    @JsonProperty("r")
    public byte getRed() {
      return red;
    }

    @JsonProperty("red")
    public void setRed(byte red) {
      this.red = red;
    }
}
Run Code Online (Sandbox Code Playgroud)

但我有一个例外:

org.codehaus.jackson.map.exc.UnrecognizedPropertyException:无法识别的字段"red"

java json jackson

135
推荐指数
8
解决办法
17万
查看次数

标签 统计

jackson ×1

java ×1

json ×1