JSON简单:整数解析

2024-02-20

我在 REST 服务中解析 JSON 整数时遇到问题。解析 String 和 double 类型效果很好

Working:

JSONParser parser = new JSONParser();
Object obj = null;
try {
    obj = parser.parse(input);
} catch (ParseException e) {
    e.printStackTrace();
}
JSONObject jsonObject = (JSONObject) obj;   

//---------------
String uName = (String) jsonObject.get("userName");
double iPrice = (Double) jsonObject.get("itemPrice");

不工作:

int baskId = (Integer) jsonObject.get("basketId");

我尝试转换basketId在我的篮子类中转换为 String,然后它功能正常,所以代码没问题,并且链接正常工作,但是,当我将其转换回 int 时,我收到 500 服务器错误。我使用它创建一个带有一些数字 ID 的新购物篮,因此我使用 @POST 注释,有效负载中的 JSON 如下所示:

{"basketId":50}

我不明白...

编辑: 我明白了...JSON simple 只接受更大类型的 Java 原语,所以整数和浮点是禁忌


在你的代码中jsonObject.get("basketId");返回长整型

因此,使用 Long 进行类型转换将帮助您解决错误(Long)jsonObject.get("basketId");

如果您确实需要 Integer,请键入将其转换为 inetger,如下所示

((Long)jsonObject.get("basketId")).intValue()
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

JSON简单:整数解析 的相关文章

随机推荐