Nor*_*gul 5 java rest post json
我在REST服务中解析JSON整数时遇到问题.解析String和double类型工作正常
工作:
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");
Run Code Online (Sandbox Code Playgroud)
不工作:
int baskId = (Integer) jsonObject.get("basketId");
Run Code Online (Sandbox Code Playgroud)
我试图将basketId
我的篮子类转换为String,然后它运行正常,所以代码没问题,链接正常,但是,当我把它转回int时,我得到500服务器错误.我用它来创建一个带有一些数字ID的新篮子,所以我使用@POST注释,有效载荷中的JSON如下:
{"basketId":50}
Run Code Online (Sandbox Code Playgroud)
我不明白......
编辑:我确实得到它... JSON simple接受更大类型的Java原语,所以整数和浮点数是禁止的
小智 6
在你的代码中jsonObject.get("basketId");
返回Long
因此,使用Long进行类型转换可以帮助您解决错误
(Long)jsonObject.get("basketId");
如果你真的需要Integer,那么输入它到inetger,如下所示
((Long)jsonObject.get("basketId")).intValue()
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
17144 次 |
最近记录: |