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());