for (int i = 0; i < keys.size(); i++) { JsonElement keyElement = keys.get(i); writer.name(keyToString(keyElement)); valueTypeAdapter.write(writer, values.get(i));
new KnownTypeAdapters.MapTypeAdapter<>(TypeAdapters.STRING, TypeAdapters.STRING, new KnownTypeAdapters.HashMapInstantiator<String, String>()); new KnownTypeAdapters.MapTypeAdapter<>(KnownTypeAdapters.INTEGER, KnownTypeAdapters.INTEGER, new KnownTypeAdapters.HashMapInstantiator<Integer, Integer>());
@Test public void mapTypeAdapterHandlesNullsCorrectly() throws Exception { final HashMap<String, String> dummyMap = null; TypeAdapter<HashMap<String, String>> mapTypeAdapter = new KnownTypeAdapters.MapTypeAdapter<>(TypeAdapters.STRING, TypeAdapters.STRING, new KnownTypeAdapters.HashMapInstantiator<String, String>()); StringWriter stringWriter = new StringWriter(); mapTypeAdapter.write(new JsonWriter(stringWriter), dummyMap); String jsonString = stringWriter.toString(); final HashMap<String, String> readValue = mapTypeAdapter.read(new JsonReader(new StringReader(jsonString))); assertThat(readValue).isEqualTo(dummyMap); }