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

OkHttp如何获取Json字符串?

傅胡媚
2023-03-14
问题内容

解决方案 :这是我的错误。

正确的方法是 response.body()。string() 而不是 response.body.toString()

我正在使用Jetty
servlet,URL是http://172.16.10.126:8789/test/path/jsonpage,每次请求此URL都会返回

{"employees":[
    {"firstName":"John", "lastName":"Doe"}, 
    {"firstName":"Anna", "lastName":"Smith"},
    {"firstName":"Peter", "lastName":"Jones"}
]}

当在浏览器中键入url时,它会显示出来,不幸的是,当我使用时,它会显示除json字符串以外的其他内存地址Okhttp

TestActivity﹕ com.squareup.okhttp.internal.http.RealResponseBody@537a7f84

Okhttp代码Im使用:

OkHttpClient client = new OkHttpClient();

String run(String url) throws IOException {
  Request request = new Request.Builder()
      .url(url)
      .build();

  Response response = client.newCall(request).execute();
  return response.body().string();
}

有人可以帮忙吗?


问题答案:
try {
    OkHttpClient client = new OkHttpClient();
    Request request = new Request.Builder()
        .url(urls[0])
        .build();
    Response responses = null;

    try {
        responses = client.newCall(request).execute();
    } catch (IOException e) {
        e.printStackTrace();
    }
    String jsonData = responses.body().string();
    JSONObject Jobject = new JSONObject(jsonData);
    JSONArray Jarray = Jobject.getJSONArray("employees");

    for (int i = 0; i < Jarray.length(); i++) {
        JSONObject object     = Jarray.getJSONObject(i);
    }
}

示例添加到您的列:

JCol employees  = new employees();
colums.Setid(object.getInt("firstName"));
columnlist.add(lastName);


 类似资料:
  • 问题内容: 我的下面的代码当机(调试错误!R6010 abort()已被调用)。你能帮助我吗?我也想知道如何从字符串值初始化json对象。 问题答案: 您好,这很简单: 1-您需要一个CPP JSON值对象(Json :: Value)来存储数据 2-使用Json Reader(Json :: Reader)读取JSON字符串并解析为JSON对象 3-做你的东西:) 这是执行这些步骤的简单代码:

  • 问题内容: 我想尝试从Go中的JSON获取键值,但是我不确定该怎么做。 我已经能够使用simplejson来读取json值,但是我却无法找出如何获取键值。 谁能指出正确的方向和/或帮助我? 谢谢! 问题答案: 您可以通过执行以下操作来获取JSON结构的顶级密钥: 请注意,键的顺序不得与JSON结构中的键顺序相对应。它们在最后一片中的顺序甚至会在完全相同的代码的不同运行之间有所不同。这是由于地图迭代

  • 如何在Go中获取字符串的字符数? 例如,如果我有一个字符串“hello”,该方法应该返回5。我看到返回字节数,而不是字符数,因此返回2而不是1,因为在UTF-8中用两个字节编码。

  • 问题内容: 我试图解析JSON字符串“ {‘test’:‘100.00’}”并使用GSON库获取值:100.00。我的代码如下所示: 我的结果看起来像这样:“ 100.00”,但是我只需要100.00(不带引号)即可。如何归档? 问题答案:

  • 问题内容: 我正在使用 Python 2 从 ASCII编码的 文本文件中解析JSON 。 当使用或 加载这些文件时,我所有的字符串值都转换为Unicode对象而不是字符串对象。问题是,我必须将数据与仅接受字符串对象的某些库一起使用。我 无法更改库, 也 无法 更新它们。 是否可以获取字符串对象而不是Unicode对象? 更新资料 很久以前 ,当我坚持使用 Python 2 时就问 了 这个问题。

  • 我有类似这样的数据来自一个领域- {"AddressLine1":"Example Dr "," AddressLine2 ":"," City":"Paradise City "," State":"State Name "," PostalCode":"12345 "," Zip5":"67891 "," zip 4 ":" } {"地址线1":"Ex Ln","地址线2":"Adr 22",