13

カスタムクラスがありUserます:

class User {
    public String name;
    public int id;
    public Address address;
    public Timestamp created;
}

User.class用のカスタムJsonSerializerを作成しています。

@Override
public JsonElement serialize(User src, Type typeOfSrc,
        JsonSerializationContext context) {
    JsonObject obj = new JsonObject();
    obj.addProperty("name", src.name);
    obj.addProperty("id", src.id);
    obj.addProperty("address", src.address.id);

    // Want to invoke another JsonSerializer (TimestampAdapter) for Timestamp   
    obj.add("created", ???);
    return obj;
}

しかし、私はすでにTimestampAdapter私が使用するものを持っていますTimestamp.classJsonSerializerの「作成済み」フィールドで使用するためにこれを呼び出すにはどうすればよいUser.classですか?

4

1 に答える 1

13
obj.add("created", context.serialize(src.created));

クラスのTimestampAdapterGsonに登録されている場合は、自動的にそれを使用してオブジェクトをシリアル化し、を返します。TimestampJsonSerializationContextJsonElement

于 2011-05-18T21:00:34.357 に答える