当前位置: 首页 > 面试题库 >

使用Retrofit库获取简单的JSON对象响应

高海阳
2023-03-14
问题内容

我有一个带有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);


 类似资料:
  • 问题内容: 我想从Http get响应中获取一个对象: 这是我当前对Http get的代码: 这是convertSteamToString函数: 现在,我只是得到一个字符串对象。我如何找回JSON对象。 问题答案: 您获得的字符串只是JSON Object.toString()。这意味着您将获取JSON对象,但使用String格式。 如果应该获取JSON对象,则可以输入:

  • 我想从Http get响应中获取一个对象: 这是我当前的Http get代码: 这是转换的SteamToString函数: 现在我只是得到一个字符串对象。如何取回JSON对象。

  • 问题内容: 我有以下JSON,我需要使用JSONPath获得纯值: 我使用的表达式是,但是我总是得到一个数组: 而不是字符串值()。 问题答案: 但是我总是得到一个数组: 那是必然的。如您在本文档中所读,位于“结果”下(几乎在底部): 请注意,jsonPath的返回值是一个数组,也是一个有效的JSON结构。因此,您可能想再次将jsonPath应用于结果结构,或使用您喜欢的数组方法之一对其进行排序。

  • 问题内容: 我有一个特定的Web服务,期望将JSON作为发布内容,并将向后吐出XML。我正在对所有网络通话使用Retrofit。这是我使用XML转换器设置Retrofit适配器的方式: 如您所见,我没有使用Gson转换器。我如何设法发布任何JSON?谢谢! 问题答案: 创建自定义。这将使用不同的转换器进行序列化和反序列化。 用法:

  • 本文向大家介绍Android Retrofit的简单介绍和使用,包括了Android Retrofit的简单介绍和使用的使用技巧和注意事项,需要的朋友参考一下 Retrofit与okhttp共同出自于Square公司,retrofit就是对okhttp做了一层封装。把网络请求都交给给了Okhttp,我们只需要通过简单的配置就能使用retrofit来进行网络请求了,其主要作者是Android大神Ja

  • 在改版1.9中,RetrofitError仍然存在,我们可以通过以下操作获得状态: 您如何使用RXJava在Registfit2.0中做到这一点?