相关疑难解决方法(0)

序列化和反序列化期间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万
查看次数

什么语法`@__()`在Lombok中意味着什么?

我一直在和Lombok一起工作并积极使用2个月.使用Java我更熟悉一点.但是,我第一次面对语言中的以下语法结构:

@RequiredArgsController(onController = @__(@Autowired))
                                       ^^^
Run Code Online (Sandbox Code Playgroud)

这是什么意思,它是如何编译的?

java lombok

15
推荐指数
3
解决办法
6573
查看次数

当第一个字符小写和下一个字符大写时,Lombok getter/setter 生成错误

我在为 xPos、yPos、nCounter 等属性生成 getter/setter 时遇到问题。平台是 Eclipse Luna、Java 1.7、Struts2...

当 Eclipse 生成

private xPos

getXPos()
setXPos(...)
Run Code Online (Sandbox Code Playgroud)

Lombok 将生成

getxPos()
setxPos(...)
Run Code Online (Sandbox Code Playgroud)

有没有办法告诉 Lombok 将每个第一个字符大写?

lombok

5
推荐指数
1
解决办法
6443
查看次数

标签 统计

java ×2

lombok ×2

jackson ×1

json ×1