2016-06-28 8 views
0

は、次のクラスを考えてみましょう:@JsonIgnoreのプロパティと注釈のないプロパティの違いは何ですか?

private static class Widget { 

    @JsonProperty 
    private String id = "ID"; 

    @JsonIgnore 
    private String jsonIgnored = "JSON_IGNORED"; 

    private String noAnnotation = "NO_ANNOTATION"; 
} 

私はジャクソンを使用して、これをシリアル化した場合、私はこの文字列で終わるだろう:

{"id":"ID"} 

@JsonIgnoreなし注釈付き1とプロパティの違いは何ですか?

答えて

1

@JsonIgnore注釈付きプロパティ/メソッドは、Jacksonによってシリアル化/デシリアライズされません。一方、注釈付きではありません。

ここでの問題は、ジャクソンは通常ゲッターを探し、ゲッターを指定しなかったことです。そのため、@ JsonProperty注釈付きプロパティのシリアライズのみです。

あなたは3つのプロパティのゲッター3を実装する場合は、あなたのJSONは次のようになります。

{ 
    "id":"ID", 
    "noAnnotation":"NO_ANNOTATION" 
} 
関連する問題