JSON - 简单地获取整数而不是长整型

2022-09-04 04:06:58

如何从 JSON 获取而不是?IntegerLong

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

我想得到一个.我试图将long转换为整数,但java抛出了一个(不能被强制转换为)。IntegerClassCastExceptionjava.lang.Longjava.lang.Integer

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

我正在使用json-simple

编辑:

我仍然无法让它工作。下面是一个例子:jsonItem.get(“amount”);返回对象

我可以这样做:

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

但不是这个:

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

我也无法用

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

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

答案 1

请理解,并且是对象类,而 和 是基元数据类型。您可以在后者之间自由转换(可能会丢失高阶位),但必须在前者之间进行实际转换。LongIntegerlongint

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

答案 2

我试过了

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

它对我有用