package org.openslx.taskmanager.util; import java.lang.reflect.Type; import java.nio.charset.StandardCharsets; import com.google.gson.JsonArray; import com.google.gson.JsonDeserializationContext; import com.google.gson.JsonDeserializer; import com.google.gson.JsonElement; import com.google.gson.JsonParseException; public class ByteArrayDeserializer implements JsonDeserializer { @Override public byte[] deserialize( JsonElement json, Type typeOfT, JsonDeserializationContext context ) throws JsonParseException { if ( json.isJsonArray() ) { JsonArray ja = json.getAsJsonArray(); int len = ja.size(); byte[] ba = new byte[ len ]; int i = 0; for ( JsonElement el : ja ) { ba[i++] = el.getAsByte(); } return ba; } return json.getAsString().getBytes( StandardCharsets.UTF_8 ); } }