Az Alibaba Fastjsonját használtam objektumok serializálásához és deserializálásához, mert az eredeti json stringjeim mind a, b, c voltak... Az ilyen betűk képviseletben vannak, de én soriálissá alakítom őket objektumokká, és nem tudom olyan értelmetlen tulajdonságokat meghatározni. JSONField megjegyzéseket használnak itt.
@JSONField a különbség a mező felhelyezése és a get set módszer között
- a mező, amely mind a serializációs, mind a deserializációs műveleteket meghatározza,
- Kapcsold be a get-t, és megadod a műveletet a serializáláskor
- set, deserializáláskor megadja a műveletet
Miután használom, normálisan sorolható lehet, de nem lehet normálisan deserializálni, ahogy az alábbi ábrán látható:
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}
A hiba okai a következők:
Az objektumok tulajdonságai nem követik a Java húpos elnevezését, az első szó kivételével minden nagybetűvel van írva. Például
int myStudentCount; A myStudentCount változó mind kisbetűkből áll, és a szó utána következő első betű nagybetűvel van írva.
Megoldás:
Módosítsuk az objektum attribútumának nevét, és generáljuk újra a get/set metódust a következő kóddal:
A helyes attribútumok esetén a deserializáció sikeres, ahogy az alábbi képen is látható:
|