我知道如何实现 JsonDeserializer 和 JsonSerializer,但这是我想要做的:
这是设置:
public class classA
{
public String a;
public classB clazzB;
}
public class classB
{
public String c;
public String d;
public String e;
public String f;
}
我想像这样序列化(并反序列化与此类似的)classA:
- 序列化 classA 时,它也应该用它序列化 classB 的一部分,比如变量 c 和 d
因为我知道如何做到这一点(对 e 和 f 使用瞬态),所以这里有一个问题:
- c 和 d(应该用 classA 序列化的 classB 的部分)不应该在 JSONObject 中,它们应该与 classA 中的变量一起出现 INLINE
本质上,结果应该是这样的:
{"a":"something","c":"something", "d":"something"}
我在这里使用 JsonSerializer 遇到的问题是我必须从 classB 序列化 2 个变量(可能更多)。如果它只有一个,那么我可以只返回变量的 JSONPrimitive。我正在考虑在序列化方法中使用 JsonTreeWriter,但我怀疑这可以做到。
最优雅的方法是什么?