【发布时间】:2012-12-20 11:10:37
【问题描述】:
我知道如何实现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,但我怀疑是否可以做到。
最优雅的方法是什么?
【问题讨论】:
标签: json serialization gson