I\'m trying to serialize a list of BasicNameValuePairs using type adapters and Gson
ArrayList kvp=new ArrayList
To serialize this according to specification you need to make a custom type adapter that will handle the generic list. First create the class that will do the proper formatting on the output.
public class KeyValuePairSerializer extends TypeAdapter> {
@Override
public void write(JsonWriter out, List data) throws IOException {
out.beginObject();
for(int i=0; i read(JsonReader in) throws IOException {
return null;
}
}
Then use a custom Gson builder to use that type adapter to create the proper JSON string.
GsonBuilder gsonBuilder= new GsonBuilder();
gsonBuilder.registerTypeAdapter(KeyValuePairSerializer.class, new KeyValuePairSerializer());
Gson gson=gsonBuilder.create();
Logger.e(getClass().getSimpleName(),gson.toJson(kvp, KeyValuePairSerializer.class));