Ho usato il Fastjson di Alibaba per serializzare e deserializzare oggetti, perché le mie stringhe json originali erano tutte a, b, c... Tali lettere sono rappresentate, ma le serializzo in oggetti, e non posso definire gli oggetti come proprietà così prive di significato. Qui vengono utilizzate annotazioni JSONField.
@JSONField la differenza tra mettere su un campo e il metodo get set
- campo, che specifica sia le operazioni di serializzazione che quelle di deserializzazione
- Metti get, specificando l'operazione durante la serializzazione
- set, specifica l'operazione durante la deserializzazione
Dopo averlo usato, può essere serializzato normalmente, ma non può essere deserializzato normalmente, come mostrato nella figura sottostante:
Corda 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}
Cause dell'errore:
Le proprietà degli oggetti non seguono la nomenclatura a gobba di Giava, con tutte le parole maiuscole tranne la prima. Per esempio
in myStudentCount; La variabile myStudentCount è tutta minuscola, e la prima lettera della parola dopo è stata maiuscola.
Soluzione:
Modifica il nome dell'attributo oggetto e rigenera il metodo get/set con il seguente codice:
Per gli attributi corretti, la deserializzazione ha successo, come mostrato nell'immagine seguente:
|