Dieser Artikel ist ein Spiegelartikel der maschinellen Übersetzung, bitte klicken Sie hier, um zum Originalartikel zu springen.

Ansehen: 18884|Antwort: 1

[Quelle] Fastjson JSONField deserialization ungültige Lösung

[Link kopieren]
Veröffentlicht am 11.01.2019 10:51:31 | | | |
Ich habe Alibabas Fastjson verwendet, um Objekte zu serialisieren und zu deserialisieren, weil meine ursprünglichen JSON-Strings alle a, b, c... Solche Buchstaben sind dargestellt, aber ich serialisiere sie zu Objekten und kann Objekte nicht als solche bedeutungslosen Eigenschaften definieren.
JSONField-Anmerkungen werden hier verwendet.

@JSONField der Unterschied zwischen dem Setzen auf ein Feld und der Get-Set-Methode

  • Feld, das sowohl Serialisierungs- als auch Deserialisierungsoperationen spezifiziert
  • Auf Get setzen, wobei die Operation beim Serialisieren angegeben wird
  • set, spezifiziert die Operation beim Deserialisieren



Nachdem ich es benutzt habe, kann es normal serialisiert werden, aber es kann nicht normal deserialisiert werden, wie in der Abbildung unten gezeigt:


JSON-String:

{"a":"shenzhou","b":"Jing Q7UB02","c":11000,"d":"2019-01-08T17:07:04+08:00","e":120.775085,"f":30.13825,"g":77,"h":171,"i":0,"j":4951,"k":2,"l":0,"m":0,"n":4,"o":"0","p" :1}


Fehlerursachen:

Die Eigenschaften von Objekten folgen nicht Javas Hump-Nomenklatur, wobei alle bis auf das erste Wort großgeschrieben werden. Zum Beispiel

int myStudentCount;
Die Variable myStudentCount besteht komplett aus Kleinbuchstaben, und der erste Buchstabe des Wortes danach wird großgeschrieben.

Lösung:

Ändern Sie den Namen des Objektattributs und generieren Sie die get/set-Methode mit folgendem Code:

Für die korrekten Attribute gelingt die Deserialisierung, wie im folgenden Bild gezeigt:







Vorhergehend:Arbeitsplatz-E-Books
Nächster:Das PFD-Format ist ebenfalls mit einigen anderen Büchern vermischt
 Vermieter| Veröffentlicht am 14.01.2019 16:29:58 |
Ich habe fastJSON aufgegeben und bin zu Jackson gewechselt und bin auf Alibabas Open Source gestoßen.
So benutzt man es:

pop.xml



JAVA-Einwand gegen JSON [JSON-Serialisierung]



JSON-zu-Java-Klassen [JSON-Deserialisierung]



Verzichtserklärung:
Alle von Code Farmer Network veröffentlichten Software, Programmiermaterialien oder Artikel dienen ausschließlich Lern- und Forschungszwecken; Die oben genannten Inhalte dürfen nicht für kommerzielle oder illegale Zwecke verwendet werden, andernfalls tragen die Nutzer alle Konsequenzen. Die Informationen auf dieser Seite stammen aus dem Internet, und Urheberrechtsstreitigkeiten haben nichts mit dieser Seite zu tun. Sie müssen die oben genannten Inhalte innerhalb von 24 Stunden nach dem Download vollständig von Ihrem Computer löschen. Wenn Ihnen das Programm gefällt, unterstützen Sie bitte echte Software, kaufen Sie die Registrierung und erhalten Sie bessere echte Dienstleistungen. Falls es eine Verletzung gibt, kontaktieren Sie uns bitte per E-Mail.

Mail To:help@itsvse.com