Red de conocimiento informático - Problemas con los teléfonos móviles - ¿Qué tecnología se utiliza para analizar json en retrofi?

¿Qué tecnología se utiliza para analizar json en retrofi?

Informe de investigación de tecnología JSON

1. Introducción a las ventajas y desventajas de cada tecnología JSON

1.json-lib

json-lib es la más utilizada. Al principio, la herramienta de análisis json, json-lib no es fácil de usar porque depende de muchos paquetes de terceros,

incluidos commons-beanutils.jar, commons-collections-3.2.jar, commons-lang -2.6.jar, commons-logging-1.1.1.jar. jar, commons-collections-3.2.jar, commons-lang-2.6.jar, commons-logging-1.1.1.jar, ezmorph-1.0.6.jar,

Para conversión de tipos complejos, json - lib todavía tiene fallas en la conversión de json a bean. Por ejemplo, si aparece otra lista de clases o colección de mapeos dentro de una clase, surgirán problemas en la conversión de json-lib de json a bean.

json-lib no puede satisfacer las necesidades de Internet actual en términos de funcionalidad y rendimiento.

2. Jackson de código abierto

En comparación con el marco json-lib, Jackson depende de menos paquetes jar, es fácil de usar y tiene un rendimiento relativamente alto.

Además, la comunidad de Jackson es relativamente activa y la velocidad de actualización es relativamente rápida.

Jackson tendrá problemas con Bean al convertir tipos complejos de json, y habrá problemas al convertir Mapa y Lista de ciertas colecciones.

Cuando Jackson convierte tipos complejos de beans a Json, el formato json convertido no es el formato Json estándar

3. Gson de Google

Gson es actualmente el más utilizado. funcional Gson, una completa herramienta de análisis de Json, fue desarrollada en respuesta a las necesidades internas de Google. Sin embargo, desde que se lanzó públicamente la primera versión en mayo de 2008, ha sido utilizada por muchas empresas o usuarios.

La aplicación principal de Gson son las dos funciones de conversión toJson y fromJson. No hay dependencias, no se requieren archivos jar adicionales y se puede ejecutar directamente en el JDK.

Antes de utilizar esta conversión de objetos, debe crear el tipo de objeto y sus miembros para poder convertir correctamente la cadena JSON en el objeto correspondiente.

Siempre que haya métodos get y set dentro de la clase, Gson puede convertir tipos complejos de json en bean o de bean en json, lo cual es una bendición para el análisis de JSON.

Gson es impecable en términos de funcionalidad, pero hay una brecha en el rendimiento en comparación con FastJson.

4. FastJson de Alibaba

Fastjson es un procesador JSON de alto rendimiento escrito en lenguaje Java y desarrollado por Alibaba.

Sin dependencias, sin archivos jar de excepción adicionales y puede ejecutarse directamente en el JDK.

FastJson tendrá algunos problemas al convertir tipos complejos de beans a Json. Pueden aparecer tipos de referencia, lo que provocará errores de conversión de Json y la necesidad de desarrollar referencias.

FastJson utiliza un algoritmo original para maximizar la velocidad de análisis entre todas las bibliotecas json.

En resumen, comparando estas cuatro tecnologías Json, Gson de Google y FastJson de Alibaba se pueden utilizar en paralelo al seleccionar proyectos.

Si es solo un requisito funcional, si no hay requisitos de rendimiento, puede usar Gson de Google.

Si existen requisitos de rendimiento, puede usar Gson para convertir beans en json para garantizar la exactitud de los datos y usar FastJson para convertir beans en Json

2. Introducción al uso del paquete Gson de Google.

Clase Gson: la herramienta más básica para analizar json

Clase JsonParser: analizador, utilizado para analizar JSON en el árbol de análisis de JsonElements

Clase JsonElement: representa Clase JSON de elemento

Clase JsonObject: tipo de objeto JSON

Clase JsonArray: matriz de JsonObjects

Clase TypeToken: se utiliza para crear tipos, como Listlt general; ? gt ;

(1) dependencia de maven

com.google.code.gson