【发布时间】:2017-03-08 07:10:16
【问题描述】:
我看过很多关于改造的例子。我已经完成了大多数类似 listview 的工作,但这是我不容易找到的新东西。我正在使用 retrofit2。这里它具有相同的名称详细信息第一个是简单对象,其他有嵌套对象,我有点困惑如何解析它。它是登录表单首先它检查详细信息是否是一个,然后它会更进一步。
[
{
"title": "success",
"details": "1"
},
{
"title": "data",
"details": {
"EMPLOYEE_ID": 5,
"FIRST_NAME": "ABHISHEK",
"LAST_NAME": "BARDOLIA"
}
}
]
这是登录时使用的接口。
public interface LoginInterface {
@GET("Login")
Call<List<ClsLogin>> Login(@Query("username") String username
, @Query("password") String password
, @Query("imei") String imei);
}
模型类: 公共类 ClsLogin {
@SerializedName("title")
String title;
@SerializedName("details")
String details;
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
public String getDetails() {
return details;
}
public void setDetails(String details) {
this.details = details;
}
}
响应代码:
public static void login(final LoginCallback logincallback, ClsLogin ObjLogin) {
LoginInterface apiLoginService = ApiClient.getClient().create(LoginInterface.class);
Call<List<ClsLogin>> call = apiLoginService.Login(
ObjLogin.getUsername(),
ObjLogin.getPassword(),
ObjLogin.getImei());
Log.e("response", String.valueOf(call.request().url()));
call.enqueue(new Callback<List<ClsLogin>>() {
@Override
public void onResponse(Call<List<ClsLogin>> call, Response<List<ClsLogin>> response) {
Log.e("response", "onResponse ");
}
@Override
public void onFailure(Call<List<ClsLogin>> call, Throwable t) {
Log.e("response", t.getLocalizedMessage());
}
});
}
【问题讨论】:
-
使用jsonschema2pojo.org 为您的响应生成模型类
-
如何使用这个@Divyesh?
-
首先复制你的json并粘贴到上面的站点,然后从右侧菜单中选择JSON和GSON并点击预览
-
@Divyesh 谢谢兄弟,为响应创建一个模型类非常简单,但现在我们如何检查第一个细节然后运行第二个细节?
-
我认为你需要更改上面的参数名称,如消息和 msgcode
标签: android json retrofit retrofit2 gson