您如何反序列化该类型的json对象?
{"photo":{"id":5, "url":"http://pics.com/pic1.jpg"}};
因为通常我会创建一个类:
public class Photo{
private int id;
private String url;
public Photo(){
}
}
然后使用:
运行它 GsonBuilder gsonb = new GsonBuilder();
Gson gson = gsonb.create();
Photo photo = gson.fromJson(response, Photo.class);
但这只是用空值填充所有内容。 如果Json只是
,那就行了 {"id":5, "url":"http://pics.com/pic1.jpg"}
有什么想法吗?
由于
答案 0 :(得分:3)
创建另一个将Photo类作为属性
的类public class PhotoRoot {
private Photo photo;
public void setPhoto(Photo val) {
photo = val;
}
public Photo getPhoto() {
return photo;
}
}
然后将其解析为
GsonBuilder gsonb = new GsonBuilder();
Gson gson = gsonb.create();
PhotoRoot photoRoot = gson.fromJson(response, PhotoRoot.class);
Photo yourPhoto = photoRoot.getPhoto();
此致
答案 1 :(得分:0)
您的json结构无效。您需要将其更改为
{"id":5, "url":"http://pics.com/pic1.jpg"}
匹配您的Photo类。
{"photo":{"id":5, "url":"http://pics.com/pic1.jpg"}}
不起作用的原因是GSON在Photo类中查找了一个名为photo
的属性,该属性不存在。