When is the @JsonProperty property used and what is it used for? When is the @JsonProperty property used and what is it used for? ajax ajax

When is the @JsonProperty property used and what is it used for?


Here's a good example. I use it to rename the variable because the JSON is coming from a .Net environment where properties start with an upper-case letter.

public class Parameter {  @JsonProperty("Name")  public String name;  @JsonProperty("Value")  public String value; }

This correctly parses to/from the JSON:

"Parameter":{  "Name":"Parameter-Name",  "Value":"Parameter-Value"}


I think OldCurmudgeon and StaxMan are both correct but here is one sentence answer with simple example for you.

@JsonProperty(name), tells Jackson ObjectMapper to map the JSON property name to the annotated Java field's name.

//example of json that is submitted "Car":{  "Type":"Ferrari",}//where it gets mapped public static class Car {  @JsonProperty("Type")  public String type; }


well for what its worth now... JsonProperty is ALSO used to specify getter and setter methods for the variable apart from usual serialization and deserialization. For example suppose you have a payload like this:

{  "check": true}

and a Deserializer class:

public class Check {  @JsonProperty("check")    // It is needed else Jackson will look got getCheck method and will fail  private Boolean check;  public Boolean isCheck() {     return check;  }}

Then in this case JsonProperty annotation is neeeded. However if you also have a method in the class

public class Check {  //@JsonProperty("check")    Not needed anymore  private Boolean check;  public Boolean getCheck() {     return check;  }}

Have a look at this documentation too: http://fasterxml.github.io/jackson-annotations/javadoc/2.3.0/com/fasterxml/jackson/annotation/JsonProperty.html