如果模型的属性为私有,则翻新Android无法将JSON响应转换为模型

我尝试在Android上使用Retrofit,但遇到了此问题.
我想从API以JSON格式获取数据并将其转换为我的应用程序中的模型.

这是我的模特

public class A {
   private String property1;
   private int property2;

   //default constructor, getter and setter below
}

这是我的服务

public interface TestService {
   @GET("/a")
   void getA(Callback<A> callback);
}

当我使用TestService检索数据时,它不会返回错误,但会返回A的空类.
如果我将A类的属性更改为public,则它将转换为正确的对象A.

编辑问题

这是我要转换为模型A的JSON示例

{
   "property1" : "content",
   "property2" : 1
}

解决方法:

如果使用的是GSON,请在私有字段上使用Expose批注.

喜欢 :

@Expose
private String property1;

@Expose
private int property2;

如果要为变量使用其他名称,可以尝试使用SerializedName注释,例如:

@Expose
@SerializedName("property1")
private String p1;

@Expose
@SerializedName("property2")
private int p2;

我认为,如果不发布完整的“ A”课,那应该可以.

上一篇:android-活动不显示操作栏


下一篇:java-列出所有地方不再使用的不推荐使用的类/方法的工具?