Šis raksts ir mašīntulkošanas spoguļraksts, lūdzu, noklikšķiniet šeit, lai pārietu uz oriģinālo rakstu.

Skats: 18884|Atbildi: 1

[Avots] Fastjson JSONField deserializācija nederīgs risinājums

[Kopēt saiti]
Publicēts 11.01.2019 10:51:31 | | | |
Es izmantoju Alibaba Fastjson, lai seriālizētu un deserializētu objektus, jo manas oriģinālās json stīgas bija visas a, b, c ... Šādi burti ir attēloti, bet es tos sērijizēju objektos, un es nevaru definēt objektus kā tādas bezjēdzīgas īpašības.
Šeit tiek izmantotas JSONField anotācijas.

@JSONField atšķirība starp lauka ievietošanu un iegūšanas metodi

  • , norādot gan serializācijas, gan deserializācijas operācijas
  • Ievietojiet get, norādot operāciju serializācijas laikā
  • iestatīt, norāda darbību, deserializējot



Pēc tam, kad es to izmantoju, to var normāli serializēt, bet to nevar normāli deserializēt, kā parādīts zemāk redzamajā attēlā:


JSON virkne:

{"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}


Kļūdas cēloņi:

Objektu īpašības neatbilst Java kupra nomenklatūrai, ar visiem, izņemot pirmo vārdu, ar lielo burtu. Piemēram

int myStudentCount;
Mainīgais myStudentCount ir mazais burts, un vārda pirmais burts pēc tā tiek rakstīts ar lielo burtu.

Šķīdums:

Modificējiet objekta atribūta nosaukumu un atkārtoti ģenerējiet get/set metodi ar šādu kodu:

Pareizajiem atribūtiem deserializācija ir veiksmīga, kā parādīts šajā attēlā:







Iepriekšējo:Darba vietas e-grāmatas
Nākamo:PFD formāts ir sajaukts arī ar dažām citām grāmatām
 Saimnieks| Publicēts 14.01.2019 16:29:58 |
Es esmu atteicies no fastjson un pārgāju uz Džeksonu, un es saskāros ar Alibaba atvērto kodu.
Tālāk ir aprakstīts, kā to izmantot.

pop.xml



JAVA objekts JSON [JSON serializācija]



JSON uz Java klases [JSON deserializācija]



Atruna:
Visa programmatūra, programmēšanas materiāli vai raksti, ko publicē Code Farmer Network, ir paredzēti tikai mācību un pētniecības mērķiem; Iepriekš minēto saturu nedrīkst izmantot komerciāliem vai nelikumīgiem mērķiem, pretējā gadījumā lietotājiem ir jāuzņemas visas sekas. Informācija šajā vietnē nāk no interneta, un autortiesību strīdiem nav nekāda sakara ar šo vietni. Iepriekš minētais saturs ir pilnībā jāizdzēš no datora 24 stundu laikā pēc lejupielādes. Ja jums patīk programma, lūdzu, atbalstiet oriģinālu programmatūru, iegādājieties reģistrāciju un iegūstiet labākus oriģinālus pakalpojumus. Ja ir kādi pārkāpumi, lūdzu, sazinieties ar mums pa e-pastu.

Mail To:help@itsvse.com