我见过很多使用自定义TypeAdapter的简单示例.最有帮助的是Class TypeAdapter<T>.但这还没有回答我的问题.
我想自定义对象中单个字段的序列化,让默认的Gson机制处理其余的事情.
出于讨论目的,我们可以将此类定义用作我希望序列化的对象的类.我想让Gson序列化前两个类成员以及基类的所有公开成员,并且我想为下面显示的第三个和最后一个类成员进行自定义序列化.
public class MyClass extends SomeClass {
@Expose private HashMap<String, MyObject1> lists;
@Expose private HashMap<String, MyObject2> sources;
private LinkedHashMap<String, SomeClass> customSerializeThis;
[snip]
}
Run Code Online (Sandbox Code Playgroud) 我正在尝试使用GSON在客户端和服务器之间交换消息.
问题如下:
我有这个结构:
public class Message
{
private TypeOfContent type; // It's a enum
private Content content;
....
}
Run Code Online (Sandbox Code Playgroud)
然后,对象内容可以是各种类的类.
EDIT1:
public class Mensagem
{
private TipoMensagem type;
private Conteudo conteudo;
private Cliente autor;
private Cliente destino; // null -> to all(broadcast)
}
Run Code Online (Sandbox Code Playgroud)
public class Conteudo
{
protected TipoConteudo typeConteudo;
protected String texto;
protected Posicao posicao;
public Conteudo(TipoConteudo typeConteudo, String texto, Posicao posicao)
{
this.texto = texto;
this.posicao = posicao;
this.typeConteudo = typeConteudo; …Run Code Online (Sandbox Code Playgroud)