Použil jsem Fastjson od Alibaby k serializaci a deserializaci objektů, protože mé původní řetězce json byly všechny a, b, c... Taková písmena jsou reprezentována, ale já je serializuji do objektů a nemohu definovat objekty jako takové bezvýznamné vlastnosti. Zde jsou použity anotace JSONField.
@JSONField rozdíl mezi nasazením pole a metodou get set
- pole, specifikující jak operace serializace, tak deserializace
- Dej na get, specifikuje operaci při serializaci
- set, specifikuje operaci při deserializaci
Po použití lze serializovat normálně, ale deserializovat ne, jak je znázorněno na obrázku níže:
Řetězec JSON:
{"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 způsobuje:
Vlastnosti objektů neodpovídají javské nomenklatuře hrbů, přičemž všechna slova kromě prvního slova jsou velkými písmeny. Například
int myStudentCount; Proměnná myStudentCount je malá písmena a první písmeno slova po něm je napsáno s velkým písmenem.
Řešení:
Upravte název atributu objektu a znovu vygenerujte metodu get/set pomocí následujícího kódu:
Pro správné atributy deserializace uspěje, jak ukazuje následující obrázek:
|