我在我的Android应用程序中使用JSON。当我尝试执行以下操作时:
long timeCompleted =0;
JSONObject obj = new JSONObject();
try {
obj.put("TimeCompleted", timeCompleted);
} catch (JSONException e) {
e.printStackTrace();
}
价值保存得很好。
但是当我这样做时
try {
JSONObject obj = new JSONObject(jsn);
timeCompleted = (long)obj.get("TimeCompleted");
} catch (JSONException e) {
e.printStackTrace();
}
我收到以下错误
Caused by: java.lang.ClassCastException: java.lang.Integer cannot be cast to java.lang.Long
因为它认为0是整数不长虽然我保存了很长时间
为什么会这样,我该如何解决它?
答案 0 :(得分:0)
答案 1 :(得分:0)
而不是使用
object.get(YOUR_KEY)
使用
object.getLong(YOUR_KEY)
get()返回Obejct,而getLong()返回long。