如何从Android中的发布请求响应中获取特定的json键值?

用户名

我收到以下来自请求的回复HttpURLConnection

请求后回复:

{
    "LatestData": [{
        "ExtraData": null,
        "ID": 0,
        "season": false,
        "latest": 0,
        "url": "http://www.awebsite.com/images/12.jpg"
    }]
}

如何获得URL的价值?我尝试了以下操作,但Android Studio不断给我错误:

String newURL = sb.getJSONObject("LatestData").getString("url");
String newURL = sb.getJSONArray("LatestData").getJSONObject(0).getString("url");

Android Studio错误:

error: cannot find symbol method getJSONObject(String)
error: cannot find symbol method getJSONArray(String)

你们可以帮助我获取url的值并让我知道我需要导入到android studio的哪些库,以便getsonObject可以工作吗?

android代码:

 if (myURLConnection.getResponseCode() == 200) {
                br = new BufferedReader(new InputStreamReader(myURLConnection.getInputStream(), "utf-8"));
                while (true) {
                    line = br.readLine();
                    if (line != null) {
                        sb.append(line + "\n");


                        //String newURL = sb.getJSONObject("LatestData").getString("url");
                        String newURL =sb.getJSONArray("LatestData").getJSONObject(0).getString("url");
                        mWebView.loadUrl("javascript:MyFunction('" +newURL + "');");
                    } else {
                        br.close();
                        return sb.toString();
                    }
                }
            }
冬蓬

您需要将sb转换为JSONObject才能访问属性:

JSONOjbect jsonResponse = new JSONObject(new String(sb));

然后:

try {
    JSONArray jsonArray = jsonResponse.getJSONArray("LatestData");
    if (jsonArray != null && jsonArray.length() > 0) {
        for (int i = 0; i < jsonArray.length(); i++) {
            JSONObject dataOjbect = jsonArray.getJSONObject(i);
            String url = dataOjbect.getString("url");
        }
    }
} catch (Exception e) {
    e.printStackTrace();
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何在Alamofire中快速打印来自发布请求的响应的json内容?

从Angular中的HttpClient发布请求获取响应标头?

如何从Laravel中的内部API请求获取JSON响应?

如何从get请求中获取json响应而不是html响应?

如何从javascript中的对象获取特定的键值?

如何在Laravel中伪造guzzele发布请求以获取响应数据

如何从Android中的JSON请求获取数据?

如何从json数组列中获取具有特定键值的json对象?

如何从Angular中的HTTP请求返回JSON响应的特定属性?

无法从HttpResponseMessage中的发布请求获取响应

如何使用C ++和Boost Asio从HTTP发布请求中获取键值

如何从json响应中获取特定字段值?

如何从嵌套的JSON响应中获取特定值?

如何从此JSON响应中获取特定部分?

如何从ajax响应中获取请求的URL?

Json发布特定格式的数据并在Android中获取响应

如何在JSON中添加特定的键值

如何从json响应中获取特定的字段值

从Android中的请求PHP获取响应

如何从响应对象获取特定的 json 键值

如何使用 PHP 从 JSON 响应中获取特定数据

如何从 treq 请求中获取响应文本?

如何从php中的json bing响应获取特定节点值

NSMutableData 从Objective-C 中的JSON 响应中获取键值

如何从 json 数组中获取特定的键值对

如何从请求响应中获取特定单词?

如何获取 json 对象中的键值(Python)

如何从整个 json 响应 api 调用中获取特定项目

如何在php中获取json键值?