簡體   English   中英

使用Jackson JSON是否可以進行非對稱序列化和反序列化?

[英]Is it possible to have asymmetric serialization and de-serialization using Jackson JSON?

說我有這個JSON

{
  "propertA" : "test"
}

使用此類將反序列化為對象

public static class MyClass
{
  private String propertya;

  @JsonGetter( "propertya" )
  public String getPropertya() { return this.propertya; }

  @JsonSetter( "propertyA" )
  public void setPropertya( String a ){ this.propertya = a };
}

我使用@JsonGetter,因此可以將該對象實例序列化為以下內容:

{
  "properta" : "test"
}

但是沒有,我仍然得到以下信息:

{
  "propertA" : "test"
}

我究竟做錯了什么? 我期望@JsonGetter將我的類實例屬性“ propertya”序列化為“ propertya”,但是@JsonSetter似乎在序列化時接管了該控件。 @JsonGetter到底是做什么的? 看起來並沒有影響對象的序列化方式。

我更新到版本2.4.0,並且可以正常工作。 但是我必須將@JsonIgnore添加到字段中,這很好。

在2.4.0中,以下代碼應該可以工作:

public static class MyClass
{
  @JsonIgnore
  private String propertya;

  @JsonGetter( "propertya" )
  public String getPropertya() { return this.propertya; }

  @JsonSetter( "propertyA" )
  public void setPropertya( String a ){ this.propertya = a };
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM