Android Parcelable在写入可序列化对象时遇到IOException:java.io.NotSerializableException:org.json.JSONArray

Android Parcelable在写入可序列化对象时遇到IOException:java.io.NotSerializableException:org.json.JSONArray,android,serialization,arrays,Android,Serialization,Arrays,我有时会出现这样的错误注销,我知道这个logcat意味着我的ABCModel不可序列化,但它是可序列化的。ABCModel中使用的所有模型实例都是序列化的 以下是完整的日志: 05-30 11:38:49.249: E/AndroidRuntime(4305): FATAL EXCEPTION: main 05-30 11:38:49.249: E/AndroidRuntime(4305): java.lang.RuntimeException: Parcelable encountered I

我有时会出现这样的错误注销,我知道这个logcat意味着我的ABCModel不可序列化,但它是可序列化的。ABCModel中使用的所有模型实例都是序列化的

以下是完整的日志:

05-30 11:38:49.249: E/AndroidRuntime(4305): FATAL EXCEPTION: main
05-30 11:38:49.249: E/AndroidRuntime(4305): java.lang.RuntimeException: Parcelable encountered IOException writing serializable object (name = 

com.kxs.project.model.ABCModel)
05-30 11:38:49.249: E/AndroidRuntime(4305):     at android.os.Parcel.writeSerializable(Parcel.java:1181)
05-30 11:38:49.249: E/AndroidRuntime(4305):     at android.os.Parcel.writeValue(Parcel.java:1135)
05-30 11:38:49.249: E/AndroidRuntime(4305):     at android.os.Parcel.writeMapInternal(Parcel.java:493)
05-30 11:38:49.249: E/AndroidRuntime(4305):     at android.os.Bundle.writeToParcel(Bundle.java:1612)
 05-30 11:38:49.249: E/AndroidRuntime(4305):    at android.os.Parcel.writeBundle(Parcel.java:507)
 05-30 11:38:49.249: E/AndroidRuntime(4305):    at android.support.v4.app.FragmentState.writeToParcel(Fragment.java:132)
05-30 11:38:49.249: E/AndroidRuntime(4305):     at android.os.Parcel.writeTypedArray(Parcel.java:1004)
05-30 11:38:49.249: E/AndroidRuntime(4305):     at android.support.v4.app.FragmentManagerState.writeToParcel(FragmentManager.java:368)
05-30 11:38:49.249: E/AndroidRuntime(4305):     at android.os.Parcel.writeParcelable(Parcel.java:1156)
05-30 11:38:49.249: E/AndroidRuntime(4305):     at android.os.Parcel.writeValue(Parcel.java:1075)
05-30 11:38:49.249: E/AndroidRuntime(4305):     at android.os.Parcel.writeMapInternal(Parcel.java:493)
05-30 11:38:49.249: E/AndroidRuntime(4305):     at android.os.Bundle.writeToParcel(Bundle.java:1612)
05-30 11:38:49.249: E/AndroidRuntime(4305):     at android.os.Parcel.writeBundle(Parcel.java:507)
05-30 11:38:49.249: E/AndroidRuntime(4305):     at android.app.ActivityManagerProxy.activityStopped(ActivityManagerNative.java:1919)
05-30 11:38:49.249: E/AndroidRuntime(4305):     at android.app.ActivityThread.handleStopActivity(ActivityThread.java:2869)
05-30 11:38:49.249: E/AndroidRuntime(4305):     at android.app.ActivityThread.access$900(ActivityThread.java:124)
05-30 11:38:49.249: E/AndroidRuntime(4305):     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1165)
05-30 11:38:49.249: E/AndroidRuntime(4305):     at android.os.Handler.dispatchMessage(Handler.java:99)
05-30 11:38:49.249: E/AndroidRuntime(4305):     at android.os.Looper.loop(Looper.java:137)
05-30 11:38:49.249: E/AndroidRuntime(4305):     at android.app.ActivityThread.main(ActivityThread.java:4436)
05-30 11:38:49.249: E/AndroidRuntime(4305):     at java.lang.reflect.Method.invokeNative(Native Method)
05-30 11:38:49.249: E/AndroidRuntime(4305):     at java.lang.reflect.Method.invoke(Method.java:511)
05-30 11:38:49.249: E/AndroidRuntime(4305):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784)
05-30 11:38:49.249: E/AndroidRuntime(4305):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551)
05-30 11:38:49.249: E/AndroidRuntime(4305):     at dalvik.system.NativeStart.main(Native Method)
05-30 11:38:49.249: E/AndroidRuntime(4305): Caused by: java.io.NotSerializableException: org.json.JSONArray
05-30 11:38:49.249: E/AndroidRuntime(4305):     at java.io.ObjectOutputStream.writeNewObject(ObjectOutputStream.java:1364)
05-30 11:38:49.249: E/AndroidRuntime(4305):     at java.io.ObjectOutputStream.writeObjectInternal(ObjectOutputStream.java:1671)
05-30 11:38:49.249: E/AndroidRuntime(4305):     at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:1517)
05-30 11:38:49.249: E/AndroidRuntime(4305):     at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:1481)
 05-30 11:38:49.249: E/AndroidRuntime(4305):    at java.io.ObjectOutputStream.writeFieldValues(ObjectOutputStream.java:979)
  05-30 11:38:49.249: E/AndroidRuntime(4305):   at java.io.ObjectOutputStream.defaultWriteObject(ObjectOutputStream.java:368)
  05-30 11:38:49.249: E/AndroidRuntime(4305):   at java.io.ObjectOutputStream.writeHierarchy(ObjectOutputStream.java:1074)
  05-30 11:38:49.249: E/AndroidRuntime(4305):   at java.io.ObjectOutputStream.writeNewObject(ObjectOutputStream.java:1404)
  05-30 11:38:49.249: E/AndroidRuntime(4305):   at java.io.ObjectOutputStream.writeObjectInternal(ObjectOutputStream.java:1671)
  05-30 11:38:49.249: E/AndroidRuntime(4305):   at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:1517)
  05-30 11:38:49.249: E/AndroidRuntime(4305):   at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:1481)
  05-30 11:38:49.249: E/AndroidRuntime(4305):   at java.io.ObjectOutputStream.writeFieldValues(ObjectOutputStream.java:979)
 05-30 11:38:49.249: E/AndroidRuntime(4305):    at java.io.ObjectOutputStream.defaultWriteObject(ObjectOutputStream.java:368)
 05-30 11:38:49.249: E/AndroidRuntime(4305):    at java.io.ObjectOutputStream.writeHierarchy(ObjectOutputStream.java:1074)
 05-30 11:38:49.249: E/AndroidRuntime(4305):    at java.io.ObjectOutputStream.writeNewObject(ObjectOutputStream.java:1404)
 05-30 11:38:49.249: E/AndroidRuntime(4305):    at java.io.ObjectOutputStream.writeObjectInternal(ObjectOutputStream.java:1671)
 05-30 11:38:49.249: E/AndroidRuntime(4305):    at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:1517)
 05-30 11:38:49.249: E/AndroidRuntime(4305):    at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:1481)
 05-30 11:38:49.249: E/AndroidRuntime(4305):    at android.os.Parcel.writeSerializable(Parcel.java:1176)
 05-30 11:38:49.249: E/AndroidRuntime(4305):    ... 24 more

可能模型中的某个地方包含JSONArray对象。它是不可序列化的:

你能发布代码吗?但是JSONArray是可序列化的吗?我没听清你的问题?你是说如何使
JSONArray
serializable?如果是,则我的答案将其保留为
字符串
对象。只需使用
JSONArray#toString()
。或者您可以尝试创建如下自定义类:
public class CustomJSAONArray extensed JSONArray implements Serializable
05-30 11:38:49.249: E/AndroidRuntime(4305): Caused by: java.io.NotSerializableException: org.json.JSONArray