android - 不显示带有响应的传入数据

标签 android android-volley

我正在为 android 编写应用程序并使用 volley 库。我需要将接收到的数据写入TextResult。怎么做?

private void jsonParse() {
        String url = "https://api.apixu.com/v1/current.json?key=...&q=Paris";
        JsonObjectRequest request = new JsonObjectRequest(Request.Method.GET, url, null,
                new Response.Listener<JSONObject>() {
                    @Override
                    public void onResponse(JSONObject response) {
                        try {
                            JSONArray jsonArray = response.getJSONArray("location");
                            for (int i = 0; i < jsonArray.length(); i++) {
                                JSONObject location = jsonArray.getJSONObject(i);
                                String name = location.getString("name");
                                String region = location.getString("region");
                                String country = location.getString("country");
                                TextResult.append(name + ", " + region + ", " + country + "\n\n");
                            }
                        } catch (JSONException e) {
                            e.printStackTrace();
                        }
                    }
                }, new Response.ErrorListener() {
            @Override
            public void onErrorResponse(VolleyError error) {
                error.printStackTrace();
            }
        });
        mQueue.add(request);
    }

Json响应示例

{"location":{"name":"Paris","region":"Ile-de-France","country":"France"}}

最佳答案

使用这段代码。

@Override
    public void onResponse(JSONObject response) {
        try {
            JSONObject jsonObject = response.getJSONObject("location");

            for (int i = 0; i < jsonArray.length(); i++) {
                JSONArray location = jsonObject.getJSONArray(i);
                String name = location.getString("name");
                String region = location.getString("region");
                String country = location.getString("country");
                TextResult.append(name + ", " + region + ", " + country + "\n\n");
            }
        } catch (JSONException e) {
            e.printStackTrace();
        }
    }

关于android - 不显示带有响应的传入数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53140365/

相关文章:

java - Android游戏的逻辑流程

android - 无法在 Android 中的 Volley 错误监听器中从服务器检索错误消息

android - 我想在我的应用程序图标上显示未读通知计数,例如 whatsapp

android - Volley 发送 POST 参数始终为空

android - Algolia异常过滤器: Unexpected token string(to) expected ')'

android - Eclipse 认为我的项目是一个 Android 项目 - 我可以删除而不重新开始吗?

android - USB 主机模式 - 已授予设备访问权限但未记住

java - 如何从 Volley onResponse 返回解析后的数据?

java - 如何将android volley gson请求解析为对象列表/集合

java - 在通知区域显示加载 Activity 进度条