为了账号安全,请及时绑定邮箱和手机立即绑定

JsonElement 是整数还是浮点数?

JsonElement 是整数还是浮点数?

鸿蒙传说 2022-01-19 10:43:52
是否可以确定 GSONJsonElement实例是整数还是浮点数?我能够确定它是否是一个数字:JsonElement value = ...boolean isNumber = value.getAsJsonPrimitive().isNumber();但是如何判断它是整数还是浮点数,以便我随后可以使用正确的转换方法呢?任何一个float f = value.getAsJsonPrimitive().getAsFloat();或者int i = value.getAsJsonPrimitive().getAsInt();编辑:另一个问题可能会回答为什么这可能没有在 GSON 中实现,但这个问题绝对不是它的重复。
查看完整描述

2 回答

?
白衣非少年

TA贡献1155条经验 获得超0个赞

到目前为止,我发现的唯一方法是在字符串上使用正则表达式:


if (value.getAsJsonPrimitive().isNumber()) {

    String num = value.getAsString();

    boolean isFloat = num.matches("[-+]?[0-9]*\\.[0-9]+");

    if (isFloat)

        System.out.println("FLOAT");

    else

        System.out.println("INTEGER");

}

这正确地将 123 确定为整数,并将 123.45 和 123.0 确定为浮点数。


查看完整回答
反对 回复 2022-01-19
?
有只小跳蛙

TA贡献1824条经验 获得超8个赞

使用类似的东西,因此如果返回 json 对象是浮点数或整数的实例,则可以应用所需的 get:


JSONObject jObj = new JSONObject(jString);

Object aObj = jObj.get("a");

if(aObj instanceof Integer){

    System.out.println(aObj);

}


查看完整回答
反对 回复 2022-01-19
  • 2 回答
  • 0 关注
  • 161 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号