【发布时间】:2015-12-12 01:30:42
【问题描述】:
我正在尝试从 JSON 提要中读取注册号。
{"error":false,"0":[{"registration_number":"HJ-1756"},{"registration_number":"ABD-1234"}]}
但是我很难用下面的代码来做。
JsonArrayRequest req = new JsonArrayRequest(Constants.URL_VEHICLE_REG_JSON,
new Response.Listener<JSONArray>() {
@Override
public void onResponse(JSONArray response) {
Log.d(TAG, response.toString());
try {
// Parsing json array response
// loop through each json object
jsonResponse = "";
// get an array from the JSON object
JSONArray res = (JSONArray) response.get(1);
for (int i = 0; i < res.length(); i++) {
//JSONObject car = (JSONObject) response.get(i);
JSONObject innerObj = (JSONObject)res.get(i);
String registrationNumber = innerObj.getString("registration_number");
jsonResponse += "registration_number: " + registrationNumber + "\n\n";
Log.d(TAG, jsonResponse);
items.add(registrationNumber);
}
} catch (JSONException e) {
e.printStackTrace();
Toast.makeText(getApplicationContext(),
"Error: " + e.getMessage(),
Toast.LENGTH_LONG).show();
}
adapter.notifyDataSetChanged();
hideDialog();
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
VolleyLog.d(TAG, "Error: " + error.getMessage());
Toast.makeText(getApplicationContext(),
error.getMessage(), Toast.LENGTH_SHORT).show();
Log.d(TAG, "Error: " + error.getMessage());
hideDialog();
}
});
我也尝试将 Listener 更改为 Listener 和响应。但它没有用。我知道我得到 JSONObject 结果。但是我哪里出错了?
【问题讨论】:
标签: android json android-volley