ColorAdapter.java 1.2 KB

123456789101112131415161718192021222324252627282930313233343536
  1. package TypeAdapter;
  2. import java.awt.Color;
  3. import java.lang.reflect.Type;
  4. import com.google.gson.JsonDeserializationContext;
  5. import com.google.gson.JsonDeserializer;
  6. import com.google.gson.JsonElement;
  7. import com.google.gson.JsonObject;
  8. import com.google.gson.JsonParseException;
  9. import com.google.gson.JsonPrimitive;
  10. import com.google.gson.JsonSerializationContext;
  11. import com.google.gson.JsonSerializer;
  12. public class ColorAdapter implements JsonSerializer<Color>, JsonDeserializer<Color> {
  13. @Override
  14. public Color deserialize(JsonElement arg0, Type arg1, JsonDeserializationContext arg2) throws JsonParseException {
  15. // TODO Auto-generated method stub
  16. JsonObject object = arg0.getAsJsonObject();
  17. return new Color(object.get("R").getAsInt(), object.get("G").getAsInt(), object.get("B").getAsInt());
  18. }
  19. @Override
  20. public JsonElement serialize(Color arg0, Type arg1, JsonSerializationContext arg2) {
  21. // TODO Auto-generated method stub
  22. JsonObject object = new JsonObject();
  23. object.add("R", new JsonPrimitive(arg0.getRed()));
  24. object.add("G", new JsonPrimitive(arg0.getGreen()));
  25. object.add("B", new JsonPrimitive(arg0.getBlue()));
  26. return object;
  27. }
  28. }