Как запросить объект, возвращаемый методом get() JSONObject, для его типа данных?

В JavaDoc для JSONObject указано:

Общие методы get() и opt() возвращают объект, тип которого вы можете привести или запросить.

Изменить - я надеюсь, что в библиотеке JSON есть метод, который может сделать это для меня, поэтому мне не нужно изобретать велосипед.

Помимо:

Object o = jsonObject.get(0);
String className = o.getClassName();
if (className.equals("JSONObject")) {
    //...
} else if (className.equals("JSONArray")) {
    //...
} else if (className.equals("Boolean")) {
    //...
} else if (className.equals("Number")) {
    //...
} else if (className.equals("String")) {
    //...
} else if (className.equals("Null")) {
   // ...
}

Как я могу запросить возвращаемый объект для типа?

(Я использую Java 1.6 и не хочу использовать константы для оператора switch в этом примере)


person Matthew Moisen    schedule 21.03.2014    source источник
comment
Ну, есть instanceof.   -  person Hot Licks    schedule 21.03.2014


Ответы (1)


Вы не можете получить объект типа, как вы делаете. Я рекомендую вам просмотреть следующие ссылки:

Как проверить тип переменной в Java?

Как определить примитивный тип примитивной переменной?

person Tahuri    schedule 21.03.2014
comment
Спасибо, пользователь, но я не хочу использовать instanceof, obj.getClassName() или определять свой собственный перегруженный метод для возврата types. Я задал этот вопрос, чтобы узнать, есть ли в библиотеке Json метод, который сделал это для меня, поэтому мне не пришлось изобретать велосипед. - person Matthew Moisen; 21.03.2014