Kann SwiftyJson eine benutzerdefinierte Swift-Klasse in eine JSON-Zeichenkette konvertieren?

8

Nachstehend ist meine benutzerdefinierte Swift-Klasse. Meine Frage ist, wie man ein Objekt dieser Klasse mit SwiftyJson in eine JSON-Zeichenkette konvertiert?

%Vor%

Zum Beispiel so:

%Vor%     
Asanga Dewaguru 14.01.2016, 07:10
quelle

4 Antworten

8

AKTUALISIEREN

OP ist jetzt glücklich mit EVReflection . Ich nehme an, dass es in diesem Moment die beste Wahl ist.

ORIGINAL ANTWORT

Da schnelle Reflexionsmöglichkeiten noch nicht so reich sind, gibt es jetzt keine ultimative Lösung wie google-gson für Java.

>

Bibliotheken wie SwiftJSON und Swift ObjectMapper wird nur in NSJSONSerialization gezuckert und erfordert, dass Sie Zuordnungen von JSON-Feldern zu Objekteigenschaften definieren.

Aber die Dinge ändern sich und Sie können JsonSerializerSwift ausprobieren. Ich habe es noch nicht benutzt, aber es verwendet schnelle Reflexion und scheint gut zu funktionieren.

Siehe auch Swift Mirrors und JSON von Chris Eidhof Artikel. Es erklärt, wie JSON-Serialisierung mit Reflektionsmöglichkeiten funktioniert.

    
mixel 14.01.2016, 07:44
quelle
2

Vielleicht hilft das: Ссылка

Sie verwenden serialize, um PPJSONSerialization-Klassen zu JSON String oder JSON Data zu serialisieren. Dies ist eine perfekte Methode, um Daten an den Server zu übermitteln.

    
neilwu 14.01.2016 08:04
quelle
1

In Swift 4 gibt es jetzt das Codable-Framework, in dem gebacken wird. Aus meiner Forschung ist dies die beste Option für diejenigen, die auf die neueste Version der Sprache upgraden können.

Wenn die Eigenschaftsnamen identisch sind, sind es nur ein paar Zeilen, um einen Json-Decoder aufzurufen, und wenn sie unterschiedlich sind, müssen Sie nur eine kleine switch-Anweisung schreiben, um sie zuzuordnen.

Ich bin mir sicher, dass in den kommenden Monaten eine Bibliothek auftauchen wird, die sich um Standard-Mapping-Situationen kümmert, aber abgesehen davon, dass die Dinge ziemlich gut aus der Box aussehen.

Überprüfen Sie es hier: Ссылка

    
Sameer JJ 19.11.2017 05:44
quelle
1

Aus Swift4 können wir JSONEncoder selbst verwenden, um das Objektmodell in Json String zu konvertieren.

Dafür müssen wir nur das Objekt mit Codierbar erweitern, wenn die json-Schlüssel Standard sind.

Referenz:

Naveen Shan 21.02.2018 18:18
quelle

Tags und Links