![](/img/trans.png)
[英]Volley: Create a method that takes care of both JSONArrayRequest and JSONObjectRequest
[英]Volley JSONObjectRequest and JSONArrayRequest both are giving errors Android Java
我正在嘗試按如下方式解析 JSON 數據:
{"Returnresult":[{"api_status":"1","user_temp_id":"280","otp":"1234"}]}
我按照 Android Developer 網站上給出的教程進行了嘗試
String url = "some url";
RequestQueue queue = Volley.newRequestQueue(this);
JsonArrayRequest jsonArrayRequest;
jsonArrayRequest = new JsonArrayRequest(Request.Method.GET, url, null,
response -> {
String api_status = null;
try {
JSONArray obj = response.getJSONArray(0);
api_status = obj.getString(0);
System.out.println(" api_status is" + api_status);
if (api_status.equals("1")) {
//some code
}
我被困在
JSONArray obj = response.getJSONArray(0); // Tried as array this time
如果我嘗試將其作為 JSONArray 獲取,則錯誤顯示“....of type org.json.JSONObject 無法轉換為 JSONArray”,當我嘗試時:
JSONObject obj = response.getJSONObject(0);
如果我嘗試將其作為 JSONObject 獲取,則錯誤顯示“....of type org.json.JSONArray 無法轉換為 JSONObject”,並且 JSONObjectRequest 位於頂部
請幫忙 !
根據 Dharmender 編輯代碼:
RequestQueue requestQueue = Volley.newRequestQueue(trial1.this);
JsonArrayRequest jsonArrayRequest = new JsonArrayRequest(Request.Method.GET, url, null,
response -> {
System.out.println(response.toString());
try {
JSONObject json = new JSONObject(response.toString());
JSONArray returnresult = json.getJSONArray("Returnresult");
for(int countItem = 0;countItem<returnresult.length();countItem++){
JSONObject returnObject = returnresult.getJSONObject(countItem);
String apiStatus=returnObject.isNull("api_status")?"":returnObject.optString("api_status");
System.out.println("Status is "+apiStatus);
}
} catch (JSONException e) {
e.printStackTrace();
}
嘗試使用以下代碼。
RequestQueue requestQueue = Volley.newRequestQueue(trial1.this);
JsonObjectRequest jsonObjReq = new JsonObjectRequest(Request.Method.GET, url, null,
response -> {
System.out.println(response.toString());
try {
JSONObject json = new JSONObject(response.toString());
JSONArray returnresult = json.getJSONArray("Returnresult");
for(int countItem = 0;countItem<returnresult.length();countItem++){
JSONObject returnObject = returnresult.getJSONObject(countItem);
String apiStatus=returnObject.isNull("api_status")?"":returnObject.optString("api_status");
System.out.println("Status is "+apiStatus);
}
} catch (JSONException e) {
e.printStackTrace();
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.