我有一个代码片段Map<String, Object> map = new HashMap<>();map.put("a", new Long(11L));String jsonStr = JSONObject.toJSONString(map);System.out.println("jsonStr : " + jsonStr);JSONObject jsonObject = JSON.parseObject(jsonStr);Long a = (Long) jsonObject.get("a");System.out.println("a : " + a);然后,它抛出异常:java.lang.ClassCastException: java.lang.Integer cannot be cast to java.lang.Long出于某种原因,我只能使用 jsonObject.get。所以,我必须将代码更改为:Map<String, Object> map = new HashMap<>();map.put("a", new Long(11L));String jsonStr = JSONObject.toJSONString(map);System.out.println("jsonStr : " + jsonStr);JSONObject jsonObject = JSON.parseObject(jsonStr);// Long a = (Long) jsonObject.get("a");Object a = jsonObject.get("a");Long aa;if (a instanceof Integer) { aa = Long.valueOf((Integer)a);} else if (a instanceof Long) { aa = (Long)a;}System.out.println("a : " + aa);我还有其他更好的方法来使用 FastJson 解析 Long 值 11L 吗?
添加回答
举报
0/150
提交
取消