1
我有一個示例pojo有一個MapJava地圖到JSON {「key」:「value」,「key1」:「value1」}作爲「key」:值,「key1」:「value1」使用Jackson
class Sample {
private Integer id;
private String name;
private Map<String,Object> map;
public Map<String,Object> getMap() {
return map;
}
public void setMap(Map<String, Object> map) {
this.map = map;
}
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
當我使用Jackson將此POJO編寫爲JSON時,我得到以下結果。
{
"id" : 1234,
"name" : "abc",
"map" : {
"key1" : {
"field" : "value",
"field1" : "value"
},
"key2" : [
{
"something" : "a",
"somethingElse" : 1
},
{
"something" : "b",
"somethingElse" : 2
}
]
}
}
,而我想有這個地圖寫成
{
"id" : 1234,
"name" : "abc",
"key1" : {
"field" : "value",
"field1" : "value"
},
"key2" : [
{
"something" : "a",
"somethingElse" : 1
},
{
"something" : "b",
"somethingElse" : 2
}
]
}
有沒有辦法這一點沒有使用自定義序列?
爲什麼你有Map的包裝類。你不能直接序列化地圖來獲取你之後的JSON嗎? –
所以你只是想擺脫外面的''地圖「:{...}'?在這種情況下,只需序列化地圖本身,而不是封裝。如果該包裝恰好也包含其他字段,則最好不要刪除該「地圖」級別。 – Thomas
@Thomas是的我想擺脫「地圖」:{...}。我正在探索除自定義序列化程序之外的其他選項,例如Jackon的mixin或propertyNamingStrategy –