Usé el Fastjson de Alibaba para serializar y desserializar objetos, porque mis cadenas json originales eran todas a, b, c... Tales letras se representan, pero las serializo en objetos, y no puedo definir objetos como tales propiedades sin sentido. Aquí se utilizan anotaciones JSONField.
@JSONField la diferencia entre poner en un campo y el método get set
- que especifica tanto las operaciones de serialización como de deserialización
- Pon en get, especificando la operación al serializar
- set, especifica la operación al desserializar
Después de usarlo, puede serializarse normalmente, pero no puede deserializarse normalmente, como se muestra en la figura siguiente:
Cuerda 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}
Causas del error:
Las propiedades de los objetos no siguen la nomenclatura joroba de Java, con todas las palabras en mayúscula excepto la primera. Por ejemplo
en myStudentCount; La variable myStudentCount es toda minúscula, y la primera letra de la palabra después de estar en mayúscula.
Solución:
Modifica el nombre del atributo objeto y regenera el método get/set con el siguiente código:
Para los atributos correctos, la deserialización tiene éxito, como se muestra en la siguiente imagen:
|