[英]ObjectMapper to Serialize as a map
我有一個內部使用 map 的 bean
class MyBean {
private Map<String,String> map;
public MyBean(String key, String value) {
map = Collections.singletonMap(key, value);
}
}
我想對其進行序列化,因此它使用底層 map 作為其表示{"akey":"avalue"}
...
ObjectMapper mapper = new ObjectMapper();
mapperWriteValueAsString(new MyBean("akey", "avalue"));
但默認序列化返回 map 屬性
{"map":{"akey":"avalue"}}
我設法創建了一個使用 map 屬性的自定義序列化程序。 這是實現它的唯一方法嗎?
private static class MyBeanSerializer extends StdSerializer<MyBean> {
public MyBeanSerializer() {
this(null);
}
public MyBeanSerializer(Class<MyBean> t) {
super(t);
}
@Override
public void serialize(MyBean value, JsonGenerator jgen, SerializerProvider provider) throws IOException {
jgen.writeObject(value.map);
}
}
嘗試 @JsonUnwrapped 注釋:
class MyBean {
@JsonUnwrapped
private Map<String,String> map;
public MyBean(String key, String value) {
map = Collections.singletonMap(key, value);
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.