[英]Jackson: Map<String, Object> serialization and deserialization
是否可以序列化/反序列化Map<String, Object>
,其中對象的類型(映射值)將由其鍵確定。
{
"number":42,
"desc":"something really important",
"location":{
"x":9999,
"y":9999,
"wkid":9999
},
"shape":{
"type":"polyline",
"data":"dGhpcyBnZW9tZXRyeSBpcyBmYWtlIDpQ"
}
}
在這種特殊情況下,我知道desc
始終是string
, location
和shape
-第三方類(我為它們提供了序列化器和反序列化器),其他值則是盒裝基元。
可以和傑克遜做類似的事情嗎? 可以通過使用MapSerializer / MapDeserializer完成此操作嗎? (我找不到任何示例)
是的,有可能。 我建議您嘗試jsonschema2pojo 。 只需粘貼JSON
並選擇源類型JSON
。
是的,可以做到。 具有另一個包含一對Map<String, Class>
的結構,並將第一個結構的鍵名( Map<String, Object>
)鏈接到第二個結構。
例如
Map map = new HashMap<String, Object>();`
map.put("desc", "something really important");
Map deser = new HashMap<String, Class>();
deser.put("desc", StringDeserializer.class);
您還可以使用deser<String, String>
,其中值將是類名,然后只需按名稱http://www.tutorialspoint.com/java/lang/class_forname_loader.htm加載類即可
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.