当前位置: 首页 > 知识库问答 >
问题:

JSON-简单获取整数,而不是Long

孙修德
2023-03-14

如何从JSON获取整数而不是Long

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

我想得到一个整数。我试图将long转换为整数,但java抛出了一个ClassCastExceptionjava.lang.long不能转换为java.lang.integer)。

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

我使用的是json simple

编辑:

我还是不能让它工作。这里有一个例子: 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"));

共有2个答案

翟卓君
2023-03-14

我试过了

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

这对我很管用

陆斌
2023-03-14

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

Integer newInt = new Integer(oldLong.intValue());
 类似资料:
  • 我正在创建预订系统,并尝试输入特定日期。我得到的不是我想要的2015年12月14日的简单格式,而是:

  • 问题内容: 从表单获取变量: 如果我输入1并使用gettype($ POST _ [‘a’]),它将返回字符串,可以输入int吗?因为在此之后,我要检查该变量是否为int。 更新 得到的答案是,它总是返回字符串,他们为我提供了使用(int)或intval()的方法,但是如果它真的像’a’这样的字符串,它会返回0,但它也可能是整数值0,如何克服这个问题? 更新 编辑错字后,Brad Christie

  • 我有一个方法,它应该从JSON返回不同的对象,这取决于参数中的类类型。我试着根据参数返回一个对象列表,但是我只把LinkedHashMap放入ArrayList。 我搜索了很多,但是在解决方案中,类类型的所有地方都是硬编码的。 有没有一种不用硬代码就能解决这个问题的方法? 我只想传递类类型并通过一个方法获取对象。 当我的对象有关系时,我得到这个例外 无法识别的字段"字段"(类model.orm.部

  • 问题内容: 首先让我解释一下这个问题。 我的Golang应用程序中包含了JSON记录流。它基本上将这些转发到数据存储(InfluxDB)。JSON中有一些整数值,还有一些浮点值。必须将它们与原始数据类型一起转发到数据存储。否则,将发生类型冲突,并且写入操作将失败。 Ruby JSON解析器可以轻松做到这一点: Golang中的软件包确实有一些麻烦(所有数字都解析为浮点数): 哪些打印: 我需要一种

  • 问题内容: 尝试发送json。这是我的功能: 但是,每当我检查Chrome时,它总是将其作为查询参数发送: 如何获取以JSON格式发送的信息? 问题答案: 用 样品: 注意并非所有浏览器(http://caniuse.com/#feat=json)都支持JSON.stringify ,特别是IE7及更低版本的浏览器。 如果您也需要支持此浏览器,则可以使用以下Javascript库:https :