@Test(expected = JsonParseException.class) public void deserializeThrowsParseExceptionIfJsonElementDoesNotContainString() { JsonPrimitive jp = new JsonPrimitive(42); serializer.deserialize(jp, byte[].class, null); }
@Override public byte[] deserialize(JsonElement je, Type type, JsonDeserializationContext jdc) throws JsonParseException { if (je.isJsonPrimitive() && ((JsonPrimitive) je).isString()) { return Base64.decodeBase64(je.getAsString()); } else if (je.isJsonNull()) { return null; } else { throw new JsonParseException("Not a base64 string."); } }
ByteArrayGsonSerializer implements JsonSerializer<byte[]>, JsonDeserializer<byte[]> { @Override public byte[] deserialize(JsonElement je, Type type, JsonDeserializationContext jdc) throws JsonParseException { if (je.isJsonPrimitive() && ((JsonPrimitive) je).isString()) { return Base64.decodeBase64(je.getAsString()); } else if (je.isJsonNull()) { return null; } else { throw new JsonParseException("Not a base64 string."); } } }
ByteArrayGsonSerializer implements JsonSerializer<byte[]>, JsonDeserializer<byte[]> { @Override public byte[] deserialize(JsonElement je, Type type, JsonDeserializationContext jdc) throws JsonParseException { if (je.isJsonPrimitive() && ((JsonPrimitive) je).isString()) { return Base64.decodeBase64(je.getAsString()); } else if (je.isJsonNull()) { return null; } else { throw new JsonParseException("Not a base64 string."); } }  }
ByteArrayGsonSerializer implements JsonSerializer<byte[]>, JsonDeserializer<byte[]> { @Override public byte[] deserialize(JsonElement je, Type type, JsonDeserializationContext jdc) throws JsonParseException { if (je.isJsonPrimitive() && ((JsonPrimitive) je).isString()) { return Base64.decodeBase64(je.getAsString()); } else if (je.isJsonNull()) { return null; } else { throw new JsonParseException("Not a base64 string."); } }  @Override JsonElement serialize(byte[] data, Type type, JsonSerializationContext jsc); @Override byte[] deserialize(JsonElement je, Type type, JsonDeserializationContext jdc); }
ByteArrayGsonSerializer implements JsonSerializer<byte[]>, JsonDeserializer<byte[]> { @Override public byte[] deserialize(JsonElement je, Type type, JsonDeserializationContext jdc) throws JsonParseException { if (je.isJsonPrimitive() && ((JsonPrimitive) je).isString()) { return Base64.decodeBase64(je.getAsString()); } else if (je.isJsonNull()) { return null; } else { throw new JsonParseException("Not a base64 string."); } }  @Override JsonElement serialize(byte[] data, Type type, JsonSerializationContext jsc); @Override byte[] deserialize(JsonElement je, Type type, JsonDeserializationContext jdc);  }