Я пытаюсь создать POJO для следующего JSON.
{
"key1":"value1",
"key2":"value2",
"hashmap":
{
"1":"val"
"2":"val"
...
"n":"val"
}
}
Теперь POJO, который я пробовал, был
public class MyPOJO{
@SerializedName{"key1"}
@Expose
private String key1;
@SerializedName{"key2"}
@Expose
private String key2;
@SerializedName{"hashmap"}
@Expose
private HashMap<String,String> hMap;
}
Проблема в том, что хэш-карта не сериализуется. Он просто игнорируется, когда класс сериализуется.
Вот как я использую класс в Retrofit.
@POST("/endpoint/")
void foo(@Body MyPojo, Callback<Response> callback);
Одно предложение, с которым я столкнулся, - использовать внутренний класс вместо Hashmap. Но мои ключи динамические, я не могу определить переменные для каждого ключа. Мне нужно сериализовать Hashmap.