Jag använde Alibabas Fastjson för att serialisera och deserialisera objekt, eftersom mina ursprungliga json-strängar alla var a, b, c... Sådana bokstäver representeras, men jag serialiserar dem till objekt, och jag kan inte definiera objekt som sådana meningslösa egenskaper. JSONField-anteckningar används här.
@JSONField skillnaden mellan att sätta på en plan och get-set-metoden
- fält, som specificerar både serialiserings- och deserialiseringsoperationer
- Sätt på get, och specificera operationen vid serialisering
- mängden, specificerar operationen vid deserialisering
Efter att jag använt den kan den serialiseras normalt, men den kan inte avserialiseras normalt, som visas i figuren nedan:
JSON-strängen:
{"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}
Felorsaker:
Objektens egenskaper följer inte Javas hump-nomenklatur, där alla utom det första ordet är versaler. Till exempel
int myStudentCount; Variabeln myStudentCount är helt gemener, och den första bokstaven i ordet efter är versaliserad.
Lösning:
Ändra namnet på objektattributet och återskapa get/set-metoden med följande kod:
För de korrekta attributen lyckas deserialisering, som visas i följande bild:
|