android onresponse 读取json
时间: 2024-06-09 16:08:30 浏览: 157
在 Android 中,使用 Volley 或 OkHttp 等网络库进行网络请求时,通常会在 onResponse 回调函数中获得返回的 JSON 数据。以下是一个使用 Volley 框架进行网络请求并读取 JSON 数据的示例:
```java
// 创建一个请求队列
RequestQueue queue = Volley.newRequestQueue(this);
// 创建一个 GET 请求
String url = "https://example.com/api/data";
JsonObjectRequest request = new JsonObjectRequest(Request.Method.GET, url, null,
new Response.Listener<JSONObject>() {
@Override
public void onResponse(JSONObject response) {
// 处理返回的 JSON 数据
try {
JSONArray dataArray = response.getJSONArray("data");
for (int i = 0; i < dataArray.length(); i++) {
JSONObject data = dataArray.getJSONObject(i);
String name = data.getString("name");
int age = data.getInt("age");
Log.d(TAG, "Name: " + name + ", Age: " + age);
}
} catch (JSONException e) {
e.printStackTrace();
}
}
},
new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
// 处理请求错误
Log.e(TAG, "Error: " + error.getMessage());
}
});
// 将请求加入队列
queue.add(request);
```
在上面的代码中,我们创建了一个 GET 请求并将其加入 Volley 请求队列中。在 onResponse 回调函数中,我们首先解析返回的 JSON 数据,然后对其中的每个数据进行处理。注意,在解析 JSON 数据时,我们需要捕获 JSONException 异常以防止程序崩溃。如果请求出错,则会调用 onErrorResponse 回调函数,我们在该函数中可以对错误进行处理。
阅读全文