0
我有一個串行的一個問題,這裏是我的問題:傑克遜串行:獲取序列化對象
我有一個bean類這樣的:
@JsonSerialize(using = MyObjectSerializer.class)
public class MyObject {
public int a;
public boolean b;
}
當過傑克遜序列化,而不@ JsonSerialize註解,我明明得到:
{ "a": 42, "b": true}
但我需要的過程中它添加屬性:
{ "a": 42, "b": true, "version": "0.1-beta" }
(這是一個例子,在現實世界中,我添加屬性取決於對象的幾個屬性)
所以我需要編寫自定義序列。 然而,在我真正的代碼,該類包含的不僅僅是2。所以我不想手動創建這些屬性的JSON對象更多的屬性...
如果我用這個:
public static class MyObjectSerializer extends JsonSerializer<MyObject> {
@Override public void serialize(MyObject obj, JsonGenerator json, SerializerProvider provider) throws IOException, JsonProcessingException {
json.writeObject(obj);
}
}
我明顯得到一個StackOverflowError。
所以,問題可以是:
- 如何,從JsonSerializer內可序列化,無需重新調用序列化的對象本身?
或
- 我怎樣才能動態特性添加到對象序列化beeing。
我以前做的所有GSON但傑克遜的時間提供功能的負荷,我喜歡使用;)