Tento článok je zrkadlovým článkom o strojovom preklade, kliknite sem pre prechod na pôvodný článok.

Pohľad: 18884|Odpoveď: 1

[Zdroj] Fastjson JSONField deserialization neplatné riešenie

[Kopírovať odkaz]
Zverejnené 11. 1. 2019 10:51:31 | | | |
Použil som Alibaba Fastjson na serializáciu a deserializáciu objektov, pretože moje pôvodné json reťazce boli všetky a, b, c... Takéto písmená sú reprezentované, ale serializujem ich do objektov a nedokážem definovať objekty ako takéto bezvýznamné vlastnosti.
Tu sa používajú anotácie JSONField.

@JSONField rozdiel medzi putting on a get set metódou

  • pole, ktoré špecifikuje operácie serializácie aj deserializácie
  • Dajte na get, čím sa špecifikuje operácia pri serializácii
  • set, špecifikuje operáciu pri deserializácii



Keď ho použijem, dá sa serializovať normálne, ale nedá sa deserializovať normálne, ako je znázornené na obrázku nižšie:


JSON reťazec:

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


Chyba spôsobuje:

Vlastnosti objektov nenasledujú Javaovu nomenklatúru hrbov, pričom všetky okrem prvého slova sú písané s veľkým písmenom. Napríklad

int myStudentCount;
Premenná myStudentCount je čistá malými písmenami a prvé písmeno slova po ňom je napísané s veľkými písmenami.

Riešenie:

Upravte názov atribútu objektu a znovu vygenerujte metódu get/set s nasledujúcim kódom:

Pre správne atribúty je deserializácia úspešná, ako je znázornené na nasledujúcom obrázku:







Predchádzajúci:Pracovné e-knihy
Budúci:Formát PFD je tiež zmiešaný s niektorými ďalšími knihami
 Prenajímateľ| Zverejnené 14. 1. 2019 16:29:58 |
Vzdal som sa fastjson a prešiel na Jackson, kde som narazil na open source Alibaby.
Tu je návod, ako ho používať:

pop.xml



JAVA Objekt voči JSON [JSON serializácia]



JSON na Java triedy [JSON deserializácia]



Vyhlásenie:
Všetok softvér, programovacie materiály alebo články publikované spoločnosťou Code Farmer Network slúžia len na vzdelávacie a výskumné účely; Vyššie uvedený obsah nesmie byť použitý na komerčné alebo nezákonné účely, inak nesú všetky následky používateľmi. Informácie na tejto stránke pochádzajú z internetu a spory o autorské práva s touto stránkou nesúvisia. Musíte úplne vymazať vyššie uvedený obsah zo svojho počítača do 24 hodín od stiahnutia. Ak sa vám program páči, podporte originálny softvér, zakúpte si registráciu a získajte lepšie originálne služby. Ak dôjde k akémukoľvek porušeniu, kontaktujte nás prosím e-mailom.

Mail To:help@itsvse.com