Dit artikel is een spiegelartikel van machinevertaling, klik hier om naar het oorspronkelijke artikel te gaan.

Bekijken: 18884|Antwoord: 1

[Bron] Fastjson JSONField deserialization invalid solution

[Link kopiëren]
Geplaatst op 11-01-2019 10:51:31 | | | |
Ik gebruikte Alibaba's Fastjson om objecten te serialiseren en deserialiseren, omdat mijn originele json-strings allemaal a, b, c... Dergelijke letters worden weergegeven, maar ik serialiseer ze tot objecten, en ik kan objecten niet definiëren als zulke betekenisloze eigenschappen.
JSONField-annotaties worden hier gebruikt.

@JSONField het verschil tussen het leggen op een veld en de get-set-methode

  • veld, waarin zowel serialisatie- als deserialisatiebewerkingen worden gespecificeerd
  • Zet op get, waarbij de operatie wordt gespecificeerd bij het serialiseren
  • set, specificeert de bewerking bij deserialisatie



Nadat ik het heb gebruikt, kan het normaal worden geserialiseerd, maar het kan niet normaal worden gedeserialiseerd, zoals te zien is in de onderstaande figuur:


JSON-string:

{"a":"shenzhou","b":"Jing Q7UB02","c":110000,"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}


Foutoorzaken:

De eigenschappen van objecten volgen niet de hump-nomenclatuur van Java, waarbij alle behalve het eerste woord met een hoofdletter worden geschreven. Bijvoorbeeld

int myStudentCount;
De variabele myStudentCount is helemaal met kleine letters, en de eerste letter van het woord daarna wordt met een hoofdletter geschreven.

Oplossing:

Wijzig de naam van het objectattribuut en genereer de get/set-methode opnieuw met de volgende code:

Voor de juiste attributen slaagt deserialisatie, zoals getoond in de volgende afbeelding:







Vorig:Werkplek e-books
Volgend:Het PFD-formaat is ook gemengd met enkele andere boeken
 Huisbaas| Geplaatst op 14-01-2019 16:29:58 |
Ik heb fastJSON opgegeven en ben overgestapt op Jackson, en ik kwam de open source van Alibaba tegen.
Zo gebruik je hem:

pop.xml



JAVA Bezwaar tegen JSON [JSON Serialisatie]



JSON naar Java-klassen [JSON-deserialisatie]



Disclaimer:
Alle software, programmeermaterialen of artikelen die door Code Farmer Network worden gepubliceerd, zijn uitsluitend bedoeld voor leer- en onderzoeksdoeleinden; De bovenstaande inhoud mag niet worden gebruikt voor commerciële of illegale doeleinden, anders dragen gebruikers alle gevolgen. De informatie op deze site komt van het internet, en auteursrechtconflicten hebben niets met deze site te maken. Je moet bovenstaande inhoud volledig van je computer verwijderen binnen 24 uur na het downloaden. Als je het programma leuk vindt, steun dan de echte software, koop registratie en krijg betere echte diensten. Als er sprake is van een inbreuk, neem dan contact met ons op via e-mail.

Mail To:help@itsvse.com