How to get an Integer
instead of Long
from JSON?
I want to read JSON in my Java program, but when I get a JSON value which is a number, my parser returns a number of type Long
.
I want to get an Integer
. I tried to cast the long to an integer, but java throws a ClassCastException
(java.lang.Long
cannot be cast to java.lang.Integer
).
I tried several things, such as first converting the long to a string, and then converting with Integer.parseInt();
but also that doesn't work.
I am using json-simple
Edit:
I still can't get it working. Here is an example: jsonItem.get("amount"); // returns an Object
I can do this:
(long)jsonItem.get("amount");
But not this:
(int)jsonItem.get("amount");
I also can't convert it with
Integer newInt = new Integer(jsonItem.get("amount"));
or
Integer newInt = new Integer((long)jsonItem.get("amount"));
Long
object has anintValue()
method. – GraceLong
object. That object contains within it along
value. If you want that value to be represented in anInteger
object you must extract the value from theLong
object and create a newInteger
object from the value. – Instrumentalist