0
私はジャクソンのテーマで新しいですが、私は問題を解決するのに役立つ答えは見つかりませんでした。秒間 実体でルート名をプロパティとして使用
のは、私はこのクラスを持っていると仮定しましょう:public class Airport {
private String name;
private String code;
...
}
私のJSONは次のようになります。
"XXX": {
"name": "SomeName",
}
私はXXX
(ツリーのルート)を置くためにジャクソンを強制したいと思いますにクラスのプロパティcode
私はJSONからオブジェクトを作成するために使用する標準的な方法はtreeToValue
を使用している:ルート名「XXX」が「JsonNode」(予想と一致していません:私はDeserializationFeature.UNWRAP_ROOT_VALUE
を有効にすると
ObjectMapper mapper = new ObjectMapper();
String airports = "above Json";
JsonNode airportsTree = mapper.readTree(airports.toString());
Airport airport = mapper.treeToValue(airportsTree, Airport.class);
は、しかし、私は
JsonMappingExceptionを取得しています)タイプ[単純型、クラスcom.fasterxml.jackson.databind.JsonNode]
に動作します。しかし、問題は、この値は、レコードごとに異なることである交尾します値(sisのルート名)はクラスの 'name'部分に移動します。 – Silwest
は、私は' XXX'ことを意味し、 'XXX'、 ' XYZ':あなたは
DeserializationFeature.UNWRAP_ROOT_VALUE
を有効にするとそれがなければならない
– Silwest