JSON-simple получает целое число вместо Long
как получить Integer вместо Long от JSON?
я хочу прочитать JSON в моей Java-программе, но когда я получаю значение JSON, которое является числом, мой парсер возвращает число типа Long.
я хочу Integer. Я попытался привести long к целому числу, но java бросает ClassCastException (java.lang.Long не может быть приведен к java.lang.Integer).
я попробовал несколько вещей, таких как сначала преобразование long в строку, а затем преобразование с Integer.parseInt(); но и это не работает.
я использую json-простой
Edit:
я все еще не могу заставить его работать. Вот пример: jsonItem.get ("сумма"); / / возвращает объект
я могу сделать это:
(long)jsonItem.get("amount");
но не этот:
(int)jsonItem.get("amount");
я не могу преобразовать его с помощью
Integer newInt = new Integer(jsonItem.get("amount"));
или
Integer newInt = new Integer((long)jsonItem.get("amount"));
1 ответов
Пожалуйста, поймите, что Long и Integer являются классами объектов, в то время как long и int примитивные типы данных. Вы можете свободно бросать между последними (с возможной потерей битов высокого порядка), но вы должны сделать фактическое преобразование между первыми.
Integer newInt = new Integer(oldLong.intValue());