Доступ к JSONObject, вложенному в два JSONArrays - PullRequest
0 голосов
/ 06 мая 2020

Я пытаюсь создать календарь. У меня есть базовый JSONArray "года", содержащий двенадцать "месячных" JSONArrays, каждый из которых содержит соответствующее количество "дневных" JSONObjects. Я сделал это с помощью этого кода:

    int[] months = new int[] {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
    //base json containing all 12 months and 365 days
    JSONArray calendar = new JSONArray();
    for (int i = 0; i < 12; i++) {
        calendar.put(new JSONArray());
    }
    //insert jsonobject into each month for corresponding amount of days
    for (int i = 0; i < calendar.length(); i++) {
        for (int y = 0; y < months[i]; y++) {
            ((JSONArray) calendar.get(i)).put(new JSONObject());
        }
    }

Однако при попытке получить доступ к JSONObject в определенный день с помощью этого кода:

    System.out.println(calendar.get(month).get(day);

я получаю эту ошибку:

    The method get(int) is undefined for the type Object

Любая помощь приветствуется.

1 Ответ

0 голосов
/ 06 мая 2020

Как упоминалось в комментариях, приведение с использованием этого кода:

    System.out.println(((JSONArray)calendar.get(month)).get(day);

работает. Однако вы также можете просто использовать функции getJSONArray () и getJSONObject () соответственно, чтобы обойти проблему.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...