2016-02-26 2 views
-2

Мой JSON, как этоКак получить JSON из URL?

{ 
    "results": [{ 
     "syllabus": "CBSE", 
     "grade": "5", 
     "subject": "Kannada", 
     "topic": "Grammar Level 1", 
     "id": 28 
    }] 
} 

Использование Volley

  JsonArrayRequest req = new JsonArrayRequest(urlJsonArry, 
      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 = ""; 
         for (int i = 0; i < response.length(); i++) { 

          JSONObject person = (JSONObject) response 
            .get(i); 

          System.out.println(person.toString()); 





          String syllabus = person.getString("syllabus"); 
          String grade= person.getString("grade"); 
          jsonResponse += "Name: " + syllabus + "\n\n"; 
          jsonResponse += "Email: " + grade + "\n\n"; 


         } 
+0

заменить 'новый ответ. Слушатель () {'с' new Response.Listener () {'a s ответ 'JSONObject' – ELITE

+0

Это« сложный »JSON? –

ответ

0

Ваш Json есть объект, а затем массив .. попробовать, как этот

JsonObjectRequest req = new JsonObjectRequest(urlJsonArry, 

      new Response.Listener<JSONObject>() { 

       @Override 
       public void onResponse(JSONObject response) { 
     Log.d(TAG, response.toString()); 

       try { 
      JSONOArray array = response.getJSONArray("results") 
        // Parsing json array response 
        // loop through each json object 
        jsonResponse = ""; 
        for (int i = 0; i < array.length(); i++) { 

         JSONObject person = (JSONObject) array 
           .get(i); 

         System.out.println(person.toString()); 

         String syllabus = person.getString("syllabus"); 
         String grade= person.getString("grade"); 
         jsonResponse += "Name: " + syllabus + "\n\n"; 
         jsonResponse += "Email: " + grade + "\n\n"; 


        } 
0
  if (!result.equalsIgnoreCase("")) { 

      try { 
       JSONObject jsonObject = new JSONObject(result); //result is what you get responce 
       JSONArray jsonArray = jsonObject.optJSONArray("results"); 
       if (jsonArray != null) { 
        for (int i = 0; i < jsonArray.length(); i++) { 
         JSONObject jsonObjects = jsonArray.optJSONObject(i); 
         String syllabus = jsonObjects.optString("syllabus"); 
         Int grade = jsonObjects.optInt("grade"); 
         String subject = jsonObjects.optString("subject"); 
         String topic = jsonObjects.optString("topic"); 
         Int id = jsonObjects.optInt("id");              
        } 
        } else { 
        Log.e("", "error parse json", "--->" + e.getMessage()); 
       } 
      } catch (Exception e) { 
       Log.e("", "error parse json", "--->" + e.getMessage()); 
      } 
     } else { 
      Log.e("", "error parse json", "--->" + e.getMessage()); 
     } 
+0

Не могли бы вы попробовать придерживаться Volley, так как это то, что использует OP? –

+0

Я разбираюсь в json-анализе, поскольку @Shwetabh Singh получает ответ –

+0

Я понимаю проблему, но мы будем использовать 'JsonObjectRequest' вместо' JsonArrayRequest', и поэтому новый JSONObject (result) 'будет только реально необходимо для 'StringRequest'. Кроме того, использование 'return' невозможно в вызове Volley –

Смежные вопросы