比方說,我有一些基本的類型:使用GSON
public class Base {
String a = "a";
Nested nested = new Nested()
}
public class Nested {
String b = "b",
}
與GSON連載,我得到:
{
"a": "a",
"nested": {
"b": "b"
}
}
這一切都很好,但如果我想要保留的對象類型以及如下,根據以下內容:
{
"Base":
{
"a": "a",
"nested": {
"Nested": {
"b": "b"
}
}
}
}
我可以嘗試編寫自定義序列化程序來解決t他(只是假設等效一個嵌套的筆試和):
new JsonSerializer<Base>() {
@Override
public JsonElement serialize(Base src, Type typeOfSrc, JsonSerializationContext context) {
Map<String, Base> selfMap = new HashMap<>();
selfMap.put(src.getClass().getSimpleName(), src);
return context.serialize(selfMap);
}
}
與此問題,但是,當然是序列化的基礎類型時,我就會陷入無限循環的。
有沒有其他方法可以解決這個問題?
我知道,但這樣做的問題是,它只能處理在樹的頂部的對象,而不是嵌套的人。這不是我的問題,我會更新它。 – csvan 2014-09-30 10:37:01