2013-11-11 2 views
0

Я немного новичок в Java. Недавно я попытался объединить вызовы методов, но среда IDE продолжает выдавать ошибки. Вот пример.Цепочные методы JSONObject/JSONArray в Java

int motoYear = (int) modelYear.get("yearsRange").get(0); 

modelYear является тип JSONObject. Первый .get() возвращает JSONObject, а второй .get() возвращает JSONArray, а конечное значение - int (если это должно было работать как намеренное).

Вторая ошибка() показывает ошибку «Не удается разрешить метод get (int)» в среде IDE. Есть ли пятно, что приписывать ожидаемые результаты для отдельного .get(), не присваивая значения переменным один за другим? Что-то вроде этого возможно? В настоящее время я использую Android Studio IDE.

+0

Что возвращаемый тип 'получить (String)', которые вы называете ваш 'modelYear' объект? Имеет ли этот тип видимый метод get (int)? –

+0

Перейти к окнам -> предпочтения -> Java -> Редактор -> Content Assist; Дайте .abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ в автозапусках активации. Затем при вводе modelYear.get («Принесите курсор над get и скажите нам тип возврата. То же самое для другого .get (и убедитесь, что у вас есть .get s, когда появляется помощь по содержанию. –

ответ

1

Прочитано the documentation. Метод get() из JSONObject возвращает значение типа Object. И Object не имеет метода get().

1

Предполагая modelYear.yearsRange является JSONArray из int с, вы хотите сделать это:

int motoYear = modelYear.getJSONArray("yearsRange").getInt(0); 
Смежные вопросы