Ta članek je zrcalni članek strojnega prevajanja, kliknite tukaj za skok na izvirni članek.

Pogled: 18884|Odgovoriti: 1

[Vir] Fastjson JSONField deserialization invalid solution

[Kopiraj povezavo]
Objavljeno na 11. 01. 2019 10:51:31 | | | |
Uporabil sem Alibabin Fastjson za serializacijo in deserializacijo objektov, ker so bili moji prvotni json nizi vsi a, b, c... Takšne črke so predstavljene, vendar jih serializiram v objekte in ne morem definirati objektov kot takšnih brezsmiselnih lastnosti.
JSONField anotacije so tukaj uporabljene.

@JSONField razlika med postavitvijo na polje in metodo get set

  • polju, ki določa tako operacije serializacije kot deserializacije
  • Postavi na get, s čimer se operacija določi pri serializiranju
  • set, določa operacijo pri deserializaciji



Ko ga uporabim, ga lahko serializiram normalno, vendar ga ni mogoče normalno deserializirati, kot je prikazano na spodnji sliki:


JSON niz:

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


Napaka povzroča:

Lastnosti objektov ne sledijo Javajevi nomenklaturi grba, kjer so vse besede razen prve z veliko začetnico. Na primer

int myStudentCount;
Spremenljivka myStudentCount je v celoti z malimi črkami, prva črka besede pa je po njej napisana z veliko začetnico.

Rešitev:

Spremenite ime atributa objekta in ponovno generirajte metodo get/set z naslednjo kodo:

Za pravilne atribute uspe deserializacija, kot je prikazano na naslednji sliki:







Prejšnji:Delovne e-knjige
Naslednji:Format PFD je prav tako pomešan z nekaterimi drugimi knjigami
 Najemodajalec| Objavljeno na 14. 01. 2019 16:29:58 |
Opustil sem fastjson in prešel na Jackson, kjer sem naletel na odprtokodno različico Alibabe.
Tukaj je, kako jo uporabljati:

pop.xml



JAVA Object: JSON [JSON serializacija]



JSON v Java razrede [JSON deserializacija]



Disclaimer:
Vsa programska oprema, programski materiali ali članki, ki jih izdaja Code Farmer Network, so namenjeni zgolj učnim in raziskovalnim namenom; Zgornja vsebina ne sme biti uporabljena v komercialne ali nezakonite namene, sicer uporabniki nosijo vse posledice. Informacije na tej strani prihajajo z interneta, spori glede avtorskih pravic pa nimajo nobene zveze s to stranjo. Zgornjo vsebino morate popolnoma izbrisati z računalnika v 24 urah po prenosu. Če vam je program všeč, podprite pristno programsko opremo, kupite registracijo in pridobite boljše pristne storitve. Če pride do kakršne koli kršitve, nas prosimo kontaktirajte po elektronski pošti.

Mail To:help@itsvse.com