@JsonProperty
コンストラクターで注釈を使用するための役立つリファレンスがStaxManによって提供されています。以下に簡単な例を示します。
public class Address {
private String address;
private String city;
private String state;
private String zip;
// Constructors, getters/setters
}
public class Location {
private boolean needsRecoding;
private Double longitude;
private Double latitude;
private Address humanAddress;
public Location() {
super();
}
@JsonCreator
public Location(
@JsonProperty("needs_recoding") boolean needsRecoding,
@JsonProperty("longitude") Double longitude,
@JsonProperty("latitude") Double latitude,
@JsonProperty("human_address") Address humanAddress) {
super();
this.needsRecoding = needsRecoding;
this.longitude = longitude;
this.latitude = latitude;
this.humanAddress = humanAddress;
}
// getters/setters
}
または、コンテンツを JSON オブジェクト ツリーに直接逆シリアル化することもできます。Location
クラスの例を少し変更して以下に示します。
public class Location {
private boolean needsRecoding;
private Double longitude;
private Double latitude;
// Note the use of JsonNode, as opposed to an explicitly created POJO
private JsonNode humanAddress;
public Location() {
super();
}
@JsonCreator
public Location(
@JsonProperty("needs_recoding") boolean needsRecoding,
@JsonProperty("longitude") Double longitude,
@JsonProperty("latitude") Double latitude,
@JsonProperty("human_address") JsonNode humanAddress) {
super();
this.needsRecoding = needsRecoding;
this.longitude = longitude;
this.latitude = latitude;
this.humanAddress = humanAddress;
}
// getters/setters
}