Este artículo es un artículo espejo de traducción automática, por favor haga clic aquí para saltar al artículo original.

Vista: 18884|Respuesta: 1

[Fuente] Fastjson JSONField deserialization invalid solution

[Copiar enlace]
Publicado en 11/1/2019 10:51:31 | | | |
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:







Anterior:Libros electrónicos en el lugar de trabajo
Próximo:El formato PFD también se mezcla con otros libros
 Propietario| Publicado en 14/1/2019 16:29:58 |
He dejado fastjson y me he cambiado a Jackson, y me he encontrado con el código abierto de Alibaba.
Así es como se usa:

pop.xml



Objeción JAVA a JSON [Serialización JSON]



Clases de JSON a Java [deserialización de JSON]



Renuncia:
Todo el software, materiales de programación o artículos publicados por Code Farmer Network son únicamente para fines de aprendizaje e investigación; El contenido anterior no se utilizará con fines comerciales o ilegales; de lo contrario, los usuarios asumirán todas las consecuencias. La información de este sitio proviene de Internet, y las disputas de derechos de autor no tienen nada que ver con este sitio. Debes eliminar completamente el contenido anterior de tu ordenador en un plazo de 24 horas desde la descarga. Si te gusta el programa, por favor apoya el software genuino, compra el registro y obtén mejores servicios genuinos. Si hay alguna infracción, por favor contáctanos por correo electrónico.

Mail To:help@itsvse.com