2014.08.05 ——— android Gson JsonDeserializer
1505 ワード
詳細
2014.08.05 ——— android Gson JsonDeserializer
Gsonは使いやすいですが、あるフィールドを特殊に処理する必要がある場合があります.面倒です.この場合、JsonDeserializerが必要です.
必要:
サーバは秒を返します.ミリ秒に変換する必要があります.
解決:
2014.08.05 ——— android Gson JsonDeserializer
Gsonは使いやすいですが、あるフィールドを特殊に処理する必要がある場合があります.面倒です.この場合、JsonDeserializerが必要です.
必要:
サーバは秒を返します.ミリ秒に変換する必要があります.
解決:
import java.lang.reflect.Type;
import com.google.xlgson.JsonDeserializationContext;
import com.google.xlgson.JsonDeserializer;
import com.google.xlgson.JsonElement;
import com.google.xlgson.JsonObject;
import com.google.xlgson.JsonParseException;
public class FavoriteRecordJsonType implements JsonDeserializer{
@Override
public FavoriteRecordPo deserialize(JsonElement json, Type typeOfT, JsonDeserializationContext context)
throws JsonParseException {
FavoriteRecordPo tInfo = new FavoriteRecordPo();
JsonObject tJson = json.getAsJsonObject();
tInfo.movietitle = tJson.get("movietitle").getAsString();
tInfo.movieid = tJson.get("movieid").getAsLong();
tInfo.movietype = tJson.get("movietype").getAsString();
tInfo.storetime = tJson.get("storetime").getAsLong() * 1000;
return tInfo;
}
}
GsonBuilder builder = new GsonBuilder();
builder.registerTypeAdapter(FavoriteRecordPo.class, new FavoriteRecordJsonType());
gson = builder.create();