【问题标题】:How to read values from an API using volley?如何使用 volley 从 API 读取值?
【发布时间】:2021-10-13 13:34:18
【问题描述】:

我有一个简单的应用程序,它调用一个 API,根据我想在片段上显示一些图像的响应, 但我很难阅读回复。

下面是我使用的响应示例代码。

通过这样做,我能够读取响应,但不知道如何循环并确定逻辑是否处于活动状态。

response.getJSONObject("sections");

public void propertySelector() { 
        String url = "myurl";

        JsonObjectRequest request = new JsonObjectRequest(Request.Method.GET, url, null, new Response.Listener<JSONObject>() {
            @Override
            public void onResponse(JSONObject response) {

                JSONObject jsonObject = null;
                try {
                    jsonObject = new JSONObject(String.valueOf(response));

                    JSONArray jsonArray = jsonObject.getJSONArray("sections");
                   
                } catch (JSONException e) {
                    e.printStackTrace();
                } 

            }
        }, new Response.ErrorListener() {
            @Override
            public void onErrorResponse(VolleyError error) {
                Log.e("TAG", "Error: " + error.toString());
            }
        });
        volleyRequest.add(request);
    }
}

sections: {
    Home: {
        active: true
    },
    Activites: {
        active: false
    },
    enabled: true, 
},

【问题讨论】:

  • 你得到的是 JSONObject 还是 JSONArray?您的示例显示 JSONObject。

标签: android arrays api android-volley


【解决方案1】:

假设部分:{...} 是响应

您正在尝试将部分作为 JSONArray 读取,但它是一个对象,您必须像这样读取它:

jsonObject = new JSONObject(String.valueOf(response));
Iterator<String> sectionKeys = jsonObject.keys();
while(sectionKeys.hasNext()){
   String sectionKey = iter.next();
   if (sectionKey.equals("enabled")) {
      Boolean enabled = jsonObject.getBoolean("enabled");
      ...
   } else {
      JSONObject sectionObject = jsonObject.getJSONObject(sectionKey);
      Boolean active = sectionObject.getBoolean("active")
      ...
   }
}

【讨论】:

    猜你喜欢
    • 2019-01-20
    • 1970-01-01
    • 1970-01-01
    • 2020-04-16
    • 2013-07-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多