2014-10-24 5 views
0

Это мой JSONGSON @SerializedName, чтобы получить значение из внутреннего массива в JSON

{ 
    name: "mark" 
    subject: "maths" 
    phone: 123-456-7890 
    email_addresses: [ { email: "[email protected]", is_primary: true } ] 
} 

Мой класс Java идет как этот

public class Student { 
    @SerializedName("name") private String mName; 
    @SerializedName("subject") private String mSubject; 
    @SerializedName("phone") private String mPhone; 
    private String mEmail; 
} 

Есть ли способ использовать @SerializedName для mEmail, так что я мог бы получить поле электронной почты от первого объекта в массиве email_addresses

ответ

0

Нет, нет. Либо создайте свой собственный TypeAdapter, либо создайте тип POJO для адресов электронной почты и получите Student. Укажите поле типа List любого типа POJO. Поставщик получатель получает только первое электронное письмо (если оно есть).

0

Создать innner статический объект и ссылаться на него таким образом (работает для Android ... (не забудьте сделать ваш объект реализации Parcelable)

@SerializedName("email_addresses") 
private EmailAdresses mEmailAdresses; 

public static class EmailAdresses { 

     @SerializedName("email") 
     private String mEmail; 
     @SerializedName("is_primary") 
     private boolean mIsPrimary; 
} 
Смежные вопросы