改造解析 JSON 响应空值 Android
Retrofit parsing JSON response null values Android
您好,我不明白为什么我的回复会得到空值。我在 Android.
上使用 Retrofit 库
原始 json
{
"images": [
{
"image": {
"name": "nike adver",
"url": "http:\/\/wallpaperbarcelona.com\/wp-content\/uploads\/2013\/07\/neymar-nike-advert.jpg",
"type": "photo"
}
}]
}
//接口
public interface PromoImagesAPI {
@GET("/FriendsCMS/images/?type=photo&format=json")
void promoImages(Callback<ImagesObject> callback);
}
请求函数
private void requestNewsData(String uri) {
RestAdapter api = new RestAdapter.Builder().setEndpoint(ENDPOINT).build();
PromoImagesAPI restapi = api.create(PromoImagesAPI.class);
restapi.promoImages(new Callback<Images>() {
@Override
public void success(Images imageObjects, Response response) {
System.out.println("webservice " +response.getUrl());
for (int i = 0; i < imageObjects.images.size(); i++) {
System.out.println("webservice " +imageObjects.getImages().get(i).getUrl());
}
}
@Override
public void failure(RetrofitError error) {
System.out.println("webservice " + error);
}
});
}
波乔
public class ImagesObject {
public List<Images> images;
public class Images {
public String name;
public String url;
public String type;
public String getName() {
return name;
}
public String getUrl() {
return url;
}
public String getType() {
return type;
}
public void setName(String name) {
this.name = name;
}
public void setUrl(String url) {
this.url = url;
}
public void setType(String type) {
this.type = type;
}
}
}
问题是for循环中的元素数量是正确的,我已经测试过,这些值都是空的。我错过了什么,任何帮助将不胜感激。谢谢
使用 http://www.jsonschema2pojo.org/ 创建您的 java 对象模型并执行以下操作以调用
public interface PromoImagesAPI {
@GET("/FriendsCMS/images/?type=photo&format=json")
void promoImages(Callback<Images> callback);
是的,我同意回答。我也错过了 @Expose 注释。当使用第三方工具将 json
转换为 kotlin
或 java
类 时,尤其会发生这种情况。在进行单元测试时,我还使用 Gson 从 json
进行转换,一切都顺利通过,直到我 运行 应用程序和所有内容都返回空值
您好,我不明白为什么我的回复会得到空值。我在 Android.
上使用 Retrofit 库原始 json
{
"images": [
{
"image": {
"name": "nike adver",
"url": "http:\/\/wallpaperbarcelona.com\/wp-content\/uploads\/2013\/07\/neymar-nike-advert.jpg",
"type": "photo"
}
}]
}
//接口
public interface PromoImagesAPI {
@GET("/FriendsCMS/images/?type=photo&format=json")
void promoImages(Callback<ImagesObject> callback);
}
请求函数
private void requestNewsData(String uri) {
RestAdapter api = new RestAdapter.Builder().setEndpoint(ENDPOINT).build();
PromoImagesAPI restapi = api.create(PromoImagesAPI.class);
restapi.promoImages(new Callback<Images>() {
@Override
public void success(Images imageObjects, Response response) {
System.out.println("webservice " +response.getUrl());
for (int i = 0; i < imageObjects.images.size(); i++) {
System.out.println("webservice " +imageObjects.getImages().get(i).getUrl());
}
}
@Override
public void failure(RetrofitError error) {
System.out.println("webservice " + error);
}
});
} 波乔
public class ImagesObject {
public List<Images> images;
public class Images {
public String name;
public String url;
public String type;
public String getName() {
return name;
}
public String getUrl() {
return url;
}
public String getType() {
return type;
}
public void setName(String name) {
this.name = name;
}
public void setUrl(String url) {
this.url = url;
}
public void setType(String type) {
this.type = type;
}
}
}
问题是for循环中的元素数量是正确的,我已经测试过,这些值都是空的。我错过了什么,任何帮助将不胜感激。谢谢
使用 http://www.jsonschema2pojo.org/ 创建您的 java 对象模型并执行以下操作以调用
public interface PromoImagesAPI {
@GET("/FriendsCMS/images/?type=photo&format=json")
void promoImages(Callback<Images> callback);
是的,我同意回答。我也错过了 @Expose 注释。当使用第三方工具将 json
转换为 kotlin
或 java
类 时,尤其会发生这种情况。在进行单元测试时,我还使用 Gson 从 json
进行转换,一切都顺利通过,直到我 运行 应用程序和所有内容都返回空值