2015-11-19 102 views
0
VkUsersResponce qwe = gsonBuilder.create().fromJson("{\"response\":[{\"id\":1,\"first_name\":\"Павел\",\"last_name\":\"Дуров\",\"sex\":2}]}", VkUsersResponce.class); 

public class VkUsersResponce { 
    @Getter 
    @Setter 
    private List<VkUser> responce; 
} 

public class VkUser { 
    @Getter 
    @Setter 
    private int sex; 

    @Getter 
    @Setter 
    private long id; 

    @Getter 
    @Setter 
    private String firstName; 

    @Getter 
    @Setter 
    private String lastName; 
} 

qwe实际上是nullGson填充问题

+2

写更多的行,并在最后提出一个问题,你想要什么,实际上你说它是空的。所以只需输入更多关于该问题的信息。 – kwoxer

回答

0

您的JSON字段名称和Java对象名称必须匹配。

从您的JSON - “响应\”与's'。
从你的对象 - “响应”与'C'。

要么改变你的领域是 “响应”,或使用SerializedName像 -

@SerializedName("response") 
private List<VkUser> responce; 

你将有一个类似的问题与firstName VS first_name。您可以使用GsonBuilder.setFieldNamingPolicy来避免注释每个字段。请参阅LOWER_CASE_WITH_UNDERSCORES

+0

是的,我昨天发现了这个错误,谢谢你的回复。 – Lebedevsd