2013-12-17 3 views
0

Это моя Json строка:Gson не deserialising ArrayList, как и ожидалось

jsonString ="{"Extras":[{"Name":"TEST","Value":"23455676654"}],"CommandCode":1005}" 

Это мой класс

public class ServerMsg { 
    int CommandCode; 
    public List<Extra> extras = new ArrayList<Extra>(); 
} 

Когда я код:

ServerMsg msg = new ServerMsg(); 
Gson gSon = new Gson(); 
msg = gSon.fromJson(jsonString,Servermsg.class); 

Я не получаю объектов в список дополнительных услуг.
Что я неправильно закодировал?

ответ

1

Изменить объект JSON с именем Extras в extras

{"extras":[{"Name":"TEST","Value":"23455676654"}],"CommandCode":1005} 

Или изменить имя поля из extras в Extras.

public class ServerMsg { 
    int CommandCode; 
    public List<Extra> Extras = new ArrayList<Extra>(); 
} 

Gson, по умолчанию использует ваши имена полей. Они должны соответствовать именам вложенных объектов JSON.

Вы должны использовать соглашения об именах Java и записывать имена переменных с помощью строчного символа в нижнем регистре.

+0

О, дорогой! Благодаря!! –

+0

@ TheJack Добро пожаловать. –

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