私は以下のようにjsonの文字列を持っています。jsonの文字列を@keyを含むPOJOに変換します
{
"input_index": 0,
"candidate_index": 0,
"delivery_line_1": "5461 S Red Cliff Dr",
"last_line": "Salt Lake City UT 84123-5955",
"delivery_point_barcode": "841235955990"
}
次のように、クラスのPOJOに変換したいと考えています。
public class Candidate {
@Key("input_index")
private int inputIndex;
@Key("candidate_index")
private int candidateIndex;
@Key("addressee")
private String addressee;
@Key("delivery_line_1")
private String deliveryLine1;
@Key("delivery_line_2")
private String deliveryLine2;
@Key("last_line")
private String lastLine;
@Key("delivery_point_barcode")
private String deliveryPointBarcode;
}
私は、以下のようにジャクソンを使用してPOJOするJSONに変換しようとしています。
ObjectMapper objectMapper = new ObjectMapper();
objectMapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
Candidate candidate = objectMapper.readValue(jsonString,Candidate.class);
私はジャクソンが代わりに@keyに与えられた名前のJSON文字列に属性名を探しているので、私はPOJOのすべてのnull値を取得していたコードを実行します。 @Keyに基づいて値をマップするようにジャクソンに伝えるにはどうすればよいですか?
以前は@JsonPropertyを使用していましたが、pojoに変換する際に問題はありませんでした。 Candidateクラスはサードパーティによって提供され、属性の@key(com.google.api.client.util.Key)注釈を使用しています。だから私はクラスを変更することはできません。
注意。 – chrylis
あなたの助けに感謝chrylis。このPropertyNamingStrategyを使用している値はほんのわずかです。 – choom