2016-05-13 2 views
0

Я пытаюсь создать POJO для следующего JSON.Создайте 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; 

} 

Проблема заключается в том, что HashMap не получает сериализации. Он просто игнорируется, когда класс становится сериализованным.

Вот как я использую класс в «Дооснащение».

@POST("/endpoint/") 
void foo(@Body MyPojo, Callback<Response> callback); 

Одно из предложений, с которым я столкнулся, - использовать внутренний класс вместо Hashmap. Но мои ключи динамические, я не могу определить переменные для каждой клавиши. Мне нужно получить сериализацию Hashmap.

ответ

0

http://www.jsonschema2pojo.org/ использовать этот сайт для создания POJO из JSON

+0

Не работает, мои ключи hashmap являются динамическими. Не зафиксировано. FYI, я использую jsonschema2pojo для создания моих POJO в противном случае. – Codevalley

0

Может быть, вы должны взглянуть на преобразователях модернизируемых и использовать конвертер, который поддерживает карты.

Или используйте пользовательский конвертер.