JSONObject nicht serialisierbar?

8

Ich versuche eine ArrayList von JSONObjects zu serialisieren. Aber ich bekomme den Fehler:

%Vor%

Hier ist mein serialize & amp; Code deserialisieren:

%Vor%     
Sheehan Alam 07.05.2011, 00:08
quelle

4 Antworten

40

Alter, es ist JSON. Warum nicht einfach als JSON serialisieren, anstatt als Java-Objekt vom Typ JSONObject?

Zum Beispiel:

String myJsonObjectSerialized = myJsonObject.toString();

    
Thane Anthem 07.05.2011, 00:21
quelle
11

Wenn Sie weiterhin die integrierte Java-Serialisierung verwenden möchten, ohne Ihr JSON-Objekt in die Zeichenfolgennotation marshalieren zu müssen, können Sie JSONObject und JSONArray aus org.json erweitern und nur Serializable implementieren.

Dann können Sie Ihre eigenen Versionen von JSONObject und JSONArray anstelle der Originale verwenden.

Stellen Sie sicher, dass Sie alle Konstruktoren in Ihren Unterklassen definieren und deren Super () - Gegenstücke aufrufen sowie spezifische Methoden implementieren, die die übergeordneten Typen wie getJSONObject () und getJSONArray () aus den Eigenschaften zurückgeben.

    
Roberto Andrade 19.03.2013 23:03
quelle
1

Wenn Sie JSONArray innerhalb der Serializable-Objektklasse haben, versuchen Sie, JSONArray auf diese Weise zu initialisieren.

private transiente JSONArray jsonArray;

%Vor%     
mani 30.07.2015 07:25
quelle
1

Eine andere Möglichkeit besteht darin, die Bibliothek org.json mit json-simple zu tauschen.

Die Klasse JSONObject von json-simple erweitert HashMap , was sowohl eine serialisierbare Java-API als auch eine Java-API ist.

Maven-Abhängigkeit:

Ссылка

Beispielverwendung:

Ссылка

    
Thamme Gowda 14.03.2017 18:07
quelle