シリアライゼーション/デシリアライゼーションにはJackson Libraryを使用します。
私が探しているプロパティを持つPojoクラスがあり、同時に(可能であれば注釈を介して、たとえば@Support(Actualite)Array
)もサポートしています。object
@JsonProperty @Support(Actualite)
private ArrayList<Actualite> actualites;
これを行う方法はありますか?
シリアライゼーション/デシリアライゼーションにはJackson Libraryを使用します。
私が探しているプロパティを持つPojoクラスがあり、同時に(可能であれば注釈を介して、たとえば@Support(Actualite)Array
)もサポートしています。object
@JsonProperty @Support(Actualite)
private ArrayList<Actualite> actualites;
これを行う方法はありますか?
あなたが求めているのは、ジャクソンがプロパティを配列としてサポートすることと、値が1つしかない場合のオブジェクトをサポートすることだと思います。
{ people : { name : "sam" } }
と
{ people : [ { name : "sam" }, { name : "bob" } ] }
その場合、これをマッパーに追加します。
mapper.configure(SerializationFeature.WRITE_SINGLE_ELEM_ARRAYS_UNWRAPPED, true);
mapper.configure(DeserializationFeature.ACCEPT_SINGLE_VALUE_AS_ARRAY, true);
春に向けて編集
Spring for Android で RestTemplate を使用している場合、次のようなことができるはずです。
// use false to turn off the default converts
RestTemplate restTemplate = new RestTemplate(false);
// create a new converter with the required features
MappingJacksonHttpMessageConverter converter = new MappingJacksonHttpMessageConverter();
ObjectMapper mapper = new ObjectMapper();
mapper.configure(SerializationFeature.WRITE_SINGLE_ELEM_ARRAYS_UNWRAPPED, true);
mapper.configure(DeserializationFeature.ACCEPT_SINGLE_VALUE_AS_ARRAY, true);
converter.setObjectMapper(mapper);
// register that as your converter
restTemplate.getMessageConverters().add(converter);