Как получить доступ к элементам в подмассиве Java без ключа, но с индексом

#java #arrays #json

#java #массивы #json

Вопрос:

У меня есть JSON, который выглядит следующим образом:

{ «Message»: «None», «PDF-ФАЙЛЫ»: [ [ «test.pdf», «localhost/», «777» ], [ » retest.pdf», «localhost», «666» ] ], » Успех»: верно }

Я пытаюсь получить доступ к отдельным строкам в массивах, но мне трудно это сделать, поскольку getString требует, чтобы я использовал ключ, а не индексы.

Я пробовал это для доступа к первой строке в каждом подмассиве:

     JSONArray pdfArray = resultJson.getJSONArray("PDFS");
                    for (int i = 0; i < pdfArray.length(); i  ) {
                        JSONObject pdfObject = pdfArray.getJSONObject(i);
                        String fileName = pdfObject.getString(0);
                    }
 

Комментарии:

1. PdfArray также содержит массивы, поэтому вы должны использовать getJSONArray(i) вместо getJSONObject(i) ?

Ответ №1:

Считайте массив как массив:

 JSONArray array = pdfArray.getJSONArray(i);
String fileName = array.getString(0);