Я пытаюсь получить данные из приведенного ниже вывода JSON. Я не могу получить данные, используя указанный ниже java-код. Не могли бы вы помочь мне исправить мой код?
[
{
"id": "bitcoin",
"symbol": "btc",
"name": "Bitcoin",
}
]
Код
public void loadAltCoins(String result) {
try {
JSONObject reader = new JSONObject(result);
JSONArray jArray = new JSONArray(reader);
for (int i = 0; i < jArray.length(); i++) {
json_data = jArray.getJSONObject(i);
System.out.println("Testing ID : " + json_data.getString("id"));
}
}




Вам не нужно создавать JSONObject ({}) для JSONArray ([]), поэтому используйте
//JSONObject reader = new JSONObject(result); not required
JSONArray jArray = new JSONArray(result);
for (int i = 0; i < jArray.length(); i++) {
json_data = jArray.getJSONObject(i);
System.out.println("Testing ID : " + json_data.optString("id"));
}// use optString, no exception and auto parsing
вы получаете массив и анализируете его в объекте