Diferencias

Muestra las diferencias entre dos versiones de la página.

Enlace a la vista de comparación

unidades:10_servidor:02_json [2014/08/30 16:28]
admin [Encapsular Jackson]
unidades:10_servidor:02_json [2014/11/26 16:41] (actual)
admin [Encapsular Jackson]
Línea 9: Línea 9:
  
 Así que en este tema solo vamos a ver lo básico de usar Jackson y como encapsularlo tras un interfaz para abstraernos de los detalle y por si en un futuro quisiéramos cambiar de librería. Así que en este tema solo vamos a ver lo básico de usar Jackson y como encapsularlo tras un interfaz para abstraernos de los detalle y por si en un futuro quisiéramos cambiar de librería.
 +
 +===== Instalacion =====
 +Para usar Jackson es necesario descargar los jars de las siguientes páginas:
 +  * [[http://​repo2.maven.org/​maven2/​com/​fasterxml/​jackson/​core/​jackson-annotations]]
 +  * [[http://​repo1.maven.org/​maven2/​com/​fasterxml/​jackson/​core/​jackson-core]]
 +  * [[http://​repo1.maven.org/​maven2/​com/​fasterxml/​jackson/​core/​jackson-databind]]
 +
 +Los ejemplos de este curso han sido hecho con la versión 2.4 y los enlaces directos son:
 +  * [[http://​repo2.maven.org/​maven2/​com/​fasterxml/​jackson/​core/​jackson-annotations/​2.4.2/​jackson-annotations-2.4.2.jar|jackson-annotations-2.4.2.jar]]
 +  * [[http://​repo1.maven.org/​maven2/​com/​fasterxml/​jackson/​core/​jackson-core/​2.4.2/​jackson-core-2.4.2.jar|jackson-core-2.4.2.jar]]
 +  * [[http://​repo1.maven.org/​maven2/​com/​fasterxml/​jackson/​core/​jackson-databind/​2.4.2/​jackson-databind-2.4.2.jar|jackson-databind-2.4.2.jar]]
 +
 +
 +Una vez descargados simplemente habrá que :
 +  * Crear una nueva carpeta llamada ''​lib''​ en la raiz del proyecto
 +  * Copiar los jars a la nueva carpeta ''​lib''​
 +  * Añadir los 3 jars al proyecto usando rutas relativas.
  
 ===== Uso de Jackson ===== ===== Uso de Jackson =====
Línea 51: Línea 68:
  
 </​uml>​ </​uml>​
 +
 +<note tip>
 +Por supuesto , este interfaz es muy sencillo , actualmente Java EE 7 ya dispone de [[https://​json-processing-spec.java.net/​|Java API for JSON Processing (JSON-P)]]
 +</​note>​
  
 El código Java es el siguiente: El código Java es el siguiente:
Línea 61: Línea 82:
 } }
 </​sxh>​ </​sxh>​
 +
 +<note tip>
 +La forma mas correcta ​ de definir el interfaz ''​JsonTransformer''​ es usando Generics en el método ''​fromJSON''​ y de esa forma ahorrarnos el cast ya que el tipo retornado en ''​fromJSON''​ siempre será el mismo que el de la clase que se le pasa como argumento en "​clazz"​
 +
 +<sxh java>
 +public interface JsonTransformer {
 +    String toJson(Object data);
 +    <T> T fromJSON(String json, Class<​T>​ clazz)
 +}
 +</​sxh>​
 +
 +Aunque no lo uso en el resto del curso por no liar mas aun el curso.
 +
 +</​note>​
  
 Creamos una implementación para este interfaz usando las librerías de Jackson llamado ''​JsonTransformerImplJackson''​. Creamos una implementación para este interfaz usando las librerías de Jackson llamado ''​JsonTransformerImplJackson''​.
Línea 110: Línea 145:
 } }
 </​sxh>​ </​sxh>​
- 
 ===== Ejemplo ===== ===== Ejemplo =====
 Ahora veamos un simple ejemplo que usa transforma un objeto ''​Usuario''​ a un String JSON y dicho String se vuelve a transformar a un objeto ''​Usuario''​. Ahora veamos un simple ejemplo que usa transforma un objeto ''​Usuario''​ a un String JSON y dicho String se vuelve a transformar a un objeto ''​Usuario''​.
Línea 145: Línea 179:
   E-Mail:​alberto_tortosa@gmail.com   E-Mail:​alberto_tortosa@gmail.com
   Edad:91   Edad:91
-===== Instalacion ===== 
-Para usar Jackson es necesario descargar los jars de las siguientes páginas: 
-  * [[http://​repo2.maven.org/​maven2/​com/​fasterxml/​jackson/​core/​jackson-annotations]] 
-  * [[http://​repo1.maven.org/​maven2/​com/​fasterxml/​jackson/​core/​jackson-core]] 
-  * [[http://​repo1.maven.org/​maven2/​com/​fasterxml/​jackson/​core/​jackson-databind]] 
- 
-Los ejemplos de este curso han sido hecho con la versión 2.4 y los enlaces directos son: 
-  * [[http://​repo2.maven.org/​maven2/​com/​fasterxml/​jackson/​core/​jackson-annotations/​2.4.2/​jackson-annotations-2.4.2.jar|jackson-annotations-2.4.2.jar]] 
-  * [[http://​repo1.maven.org/​maven2/​com/​fasterxml/​jackson/​core/​jackson-core/​2.4.2/​jackson-core-2.4.2.jar|jackson-core-2.4.2.jar]] 
-  * [[http://​repo1.maven.org/​maven2/​com/​fasterxml/​jackson/​core/​jackson-databind/​2.4.2/​jackson-databind-2.4.2.jar|jackson-databind-2.4.2.jar]] 
- 
- 
-Una vez descargados simplemente habrá que : 
-  * Crear una nueva carpeta llamada ''​lib''​ en la raiz del proyecto 
-  * Copiar los jars a la nueva carpeta ''​lib''​ 
-  * Añadirlos al proyecto usando rutas relativas. 
  
 +<​note>​
 +Este ejemplo se encuentra en  git en [[https://​github.com/​logongas/​cursoangularjs/​tree/​master/​jackson]]
 +</​note>​
 ===== Referencias ===== ===== Referencias =====
   * [[http://​wiki.fasterxml.com/​JacksonHome|Jackson]]   * [[http://​wiki.fasterxml.com/​JacksonHome|Jackson]]
unidades/10_servidor/02_json.1409408882.txt.gz · Última modificación: 2014/08/30 16:28 por admin
Ir hasta arriba
CC Attribution-Share Alike 3.0 Unported
chimeric.de = chi`s home Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0