我有一个带有JSON响应的网络查询:
{ "status":true, "result": { "id":"1", "name":"ABC 1", "email":"info@ABc.dcom", "password":"123456", "status":false, "created":"0000-00-00 00:00:00" }, "message":"Login successfully" }
我将以下代码用于:
@GET("/stockers/login") public void login( @Query("email") String email, @Query("password") String password, Callback<JSONObject> callback);
在调试器中,Retrofit库进行的查询是正确的,但是作为响应,我得到了一个空的JSON。
ApiManager.getInstance().mUrlManager.login( email.getText().toString().trim(), password.getText().toString().trim(), new Callback<JSONObject>() { @Override public void success(JSONObject jsonObj, Response response) { mDialog.dismiss();
代替使用JSONObject类进行回调,您可以使用Retrofit基本回调,该基本回调使用Response类,然后,一旦获得响应,就必须从中创建JSONObject。
否则,您可以创建自己的模型类来处理响应。
首先是Result类:
public class Result { public int id; public String name; public String email; public String password; public boolean status; public Date created; }
然后将您的响应类与Retrofit一起使用
public class MyResponse { public boolean status; public Result result; public String message; }
现在您可以致电:
@GET("/stockers/login") public void login( @Query("email") String email, @Query("password") String password, Callback<MyResponse> callback);