Analisi dell’array JSON all’interno dell’object JSON

Ho alcuni JSON con la seguente struttura:

{"source":[ {"name":"john","age":20}, {"name":"michael","age":25}, {"name":"sara", "age":23} ] } 

Ho chiamato questa stringa JSON come mainJSON . Sto cercando di accedere agli elementi “name” e “age” con il seguente codice Java:

 JSONArray jsonMainArr = new JSONArray(mainJSON.getJSONArray("source")); for (int i = 0; i < jsonMainArr.length(); i++) { // **line 2** JSONObject childJSONObject = jsonMainArr.getJSONObject(i); String name = childJSONObject.getString("name"); int age = childJSONObject.getInt("age"); } 

Mi viene mostrata la seguente eccezione per il numero di riga 2:

 org.json.JSONException: JSONArray initial value should be a string or collection or array. 

Per favore guidami su dove sto facendo l’errore e su come rettificarlo.