JSON - 简单得到一个Integer而不是Long

时间:2014-01-01 13:32:26

标签: java json casting integer long-integer

如何从JSON获取Integer而不是Long

我想在我的Java程序中读取JSON,但是当我得到一个JSON值是一个数字时,我的解析器返回一些类型Long

我想要Integer。我试图将long转换为整数,但是java抛出ClassCastExceptionjava.lang.Long无法转换为java.lang.Integer)。

我尝试了几件事,例如首先将long转换为字符串,然后使用Integer.parseInt();进行转换,但这也无效。

我正在使用json-simple

编辑:

我仍然无法让它发挥作用。这是一个例子: jsonItem.get( “量”); //返回一个Object

我可以这样做:

(long)jsonItem.get("amount");

但不是这样:

(int)jsonItem.get("amount");

我也无法用

转换它
Integer newInt = new Integer(jsonItem.get("amount"));

Integer newInt = new Integer((long)jsonItem.get("amount"));

1 个答案:

答案 0 :(得分:7)

请理解LongInteger是对象类,而longint是原始数据类型。你可以在后者之间自由施放(可能丢失高阶位),但你必须在前者之间进行实际转换。

Integer newInt = new Integer(oldLong.intValue());