2015-12-17 2 views
1

Я некоторые JSON, например:дооснащения 2,0 с GsonConverterFactory возвращают нуль для полей с не английскими буквами в имени

{ 
    "id": 12, 
    "title": "Title", 
    "photo": [ 
     "image.png" 
    ], 
    "options": { 
     "Поле": "150" 
    } 
} 

создать класс модели для синтаксического анализа:

public class Model implements Serializable { 

public int id; 
public String title; 
public String[] photo; 
@SerializedName("option") 
public Options option; 

public Model(int id, String title, String[] photo, Options option) { 
    this.id = id; 
    this.title = title; 
    this.photo = photo; 
    this.option = option; 
} 

public class Options implements Serializable { 

    @SerializedName("Поле") 
    public String pole; 

    public Options(String pole) { 
     this.pole = pole; 
    } 
} 
} 

Но, к сожалению, У меня есть null в моей Model.Option.pole.

Я думаю, проблема в кодировании. Я прав? И как я могу решить эту проблему?

PS: В примере - кириллица имя поля

ответ

1

Я думаю, что проблема @SerializedName("option") должна быть @SerializedName("options") в соответствии с вашим JSON (обратите внимание на форму множественного числа - вариант ы)

аннотаций SerializedName говорит gson что он должен использовать для сериализации и десериализации ключа атрибута в json. У вас есть options в вашем json, но вы сказали gson для сериализации и десериализации option.

+0

Да! Спасибо!!! – micsha123

Смежные вопросы