【发布时间】:2014-07-22 14:29:17
【问题描述】:
当我尝试序列化对象时 - 应用程序崩溃并出现错误:
06-02 17:44:38.809 19898-19898/com.ibank.for_business E/serializeObject﹕ error
java.io.NotSerializableException: org.json.JSONObject
at java.io.ObjectOutputStream.writeNewObject(ObjectOutputStream.java:1364)
at java.io.ObjectOutputStream.writeObjectInternal(ObjectOutputStream.java:1671)
at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:1517)
at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:1481)
etc...
可序列化对象:
public class HistoryItem implements Serializable {
public static final int STATE_INCOMING = 1;
public static final int STATE_OUTGOING = 0;
public static final int STATE_UNKNOWN = -1;
private String status;
private String date = UDate.today(UDate.FORMAT_DMY);
private String time;
private String number;
private String amount;
private String description;
private String incoming;
private int isIncoming;
private String account;
private String name;
public static HistoryItem fromJSON(final JSONObject json) {
return new HistoryItem() {{
setStatus(optString("status", json));
setDate(optString("date", json));
setTime(optString("time", json));
setNumber(optString("number", json));
setAmount(optString("amount", json));
setDescription(optString("description", json));
setIncoming(optString("incoming", json));
setAccount(optString("account", json));
setName(optString("name", json));
}};
}
// ... Getters and setters
}
我知道应用程序发誓序列化 JSONObject 但据我所知,只有序列化的类字段。
离开JSON方法可以解决这个问题吗?
提前致谢!
【问题讨论】:
-
错误可能会出现在您尝试获取此对象的位置...在那里您必须使用
getSerializeble获取此对象,就像某种类型的方法请检查。 -
您是否使用了
Parselable,如果没有,请尝试一次。
标签: java android serialization