Deserializar JSON en Java
- Deserializar JSON en Java
-
Deserializar JSON usando la API
JSON-Java
-
Deserializar JSON usando la API
Jackson
Este tutorial demuestra cómo deserializar JSON en Java.
Deserializar JSON en Java
Se proporcionan diferentes bibliotecas que se utilizan para operaciones JSON. Estas bibliotecas también pueden serializar y deserializar objetos JSON en Java.
Deserializar JSON usando la API JSON-Java
Hay una biblioteca JSON-Java
para manejar la serialización y deserialización de objetos JSON en Java. Esta biblioteca analiza objetos o documentos JSON en objetos Java o genera documentos de objetos JSON a partir de clases Java.
Esta biblioteca se puede agregar usando Gradle en Java. La dependencia de Gradle para JSON-Java
es:
implementation 'org.json:json:20210307'
El JSON-Java
viene con diferentes características y es mejor que muchas otras bibliotecas similares. Las características principales son:
- Compatibilidad con versiones anteriores
- No hay dependencias externas.
- Tiene una ejecución rápida y un bajo consumo de memoria.
- Resultados consistentes y confiables
- Proporciona adherencia a la especificación JSON.
import org.json.JSONObject;
public class Example {
public static void main(String[] args) {
String JSON_Object = "" "
{
"name" : "Sheeraz Gul",
"occupation" : "Software Engineer",
"salary" : "6000",
"height" : "186.6",
"married" : "false"
}
"" ";
var User_Info = new JSONObject(JSON_Object);
System.out.println(User_Info.get("name"));
System.out.println(User_Info.get("occupation"));
System.out.println(User_Info.get("salary"));
System.out.println(User_Info.get("height"));
System.out.println(User_Info.get("married"));
}
}
El código anterior deserializará el objeto JSON en un objeto Java. Ver salida:
Sheeraz Gul
Software Engineer
6000
186.6
false
Deserializar JSON usando la API Jackson
Jackson
es una biblioteca de código abierto para operaciones JSON en Java. La biblioteca puede serializar y deserializar objetos JSON en Java.
La biblioteca tiene dos métodos principales para la serialización y deserialización.
writeValue(...)
: se utiliza para convertir el objeto Java en un objeto JSON. (Publicación por entregas)readValue(...)
: se utiliza para convertir un objeto JSON en un objeto Java. (Deserialización)
Jackson
se puede usar agregándolo al proyecto maven. La dependencia para la API Jackson
es:
<dependency>
<groupId>org.codehaus.jackson</groupId>
<artifactId>jackson-mapper-asl</artifactId>
<version>1.9.13</version>
</dependency>
Esta dependencia es para Jackson 1.x
; también hay una versión más nueva, Jackson 2.x
. Probemos un ejemplo para deserializar un objeto JSON a un objeto Java.
package delftstack;
import java.io.File;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import org.codehaus.jackson.JsonGenerationException;
import org.codehaus.jackson.map.JsonMappingException;
import org.codehaus.jackson.map.ObjectMapper;
public class Example {
public static void main(String[] args) {
ObjectMapper Object_Mapper = new ObjectMapper();
try {
// JSON string from file to java Object
User User_File = Object_Mapper.readValue(new File("G:\\delftstack.json"), User.class);
System.out.println(User_File);
// JSON string to java Object
String jsonInString = "{\"name\":Sheeraz,\"salary\":\"6000\", \"company\":\"Delftstack\"}";
User User_String = Object_Mapper.readValue(jsonInString, User.class);
System.out.println(User_String);
} catch (JsonGenerationException e) {
e.printStackTrace();
} catch (JsonMappingException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
}
El código anterior deserializará un objeto JSON a un objeto Java desde un archivo y una cadena. Tanto el archivo como la cadena contienen el mismo objeto JSON.
Ver salida:
User [name=Sheeraz, Salary=6000, Company=Delftstack]
User [name=Sheeraz, Salary=6000, Company=Delftstack]
Sheeraz is a Doctorate fellow in Computer Science at Northwestern Polytechnical University, Xian, China. He has 7 years of Software Development experience in AI, Web, Database, and Desktop technologies. He writes tutorials in Java, PHP, Python, GoLang, R, etc., to help beginners learn the field of Computer Science.
LinkedIn Facebook