logo

Convertir objeto Java a JSON

JSON representa Notación de objetos JavaScript es un formato ponderado muy pequeño para almacenar y transportar datos. El formato JSON es muy fácil de entender porque tiene un autodescribiéndose naturaleza. JSON se utiliza principalmente para transmitir datos entre un servidor y una aplicación web.

Los detalles de un empleado escritos en formato JSON se ven así:

 { 'Employee': { 'name': 'Emma Watson', 'salary': 40000, 'married': false } } 

objeto java es una instancia de una clase o un componente autónomo que tiene propiedades y métodos para hacer que un determinado tipo de datos sea útil. Java El objeto tiene un estado, comportamiento e identidad.

El objeto Java de un empleado se escribe de la siguiente manera:

 //Defining an Employee class class Employee{ //Defining properties String name; int salary; Boolean married; //creating main() method of teh Employee class public static void main(String args[]){ //Creating object of Employee class Employee emp =new Employee(); emp.name = 'Emma Watson'; emp.salary = 40000; emp.married = false; //Printing values of the object System.out.println(emp.name); System.out.println(emp.salary); System.out.println(emp.married); } } 

Muchas veces necesitamos convertir objetos Java a JSON para poder entenderlos fácilmente. Para convertir un objeto Java en un objeto JSON, tenemos los siguientes dos métodos o formas:

  1. Usando la biblioteca GSON
  2. Usando la API de Jackson
Convertir objeto Java a JSON

Entendamos ambos uno por uno.

Usando la biblioteca GSON

El GSON La biblioteca juega un papel importante en la conversión de un objeto Java a JSON. La biblioteca GSON no solo convierte un objeto Java en JSON sino que también lo usa para convertir la cadena JSON en su objeto Java equivalente.

Estos son los siguientes pasos para convertir un objeto Java a JSON:

  1. Crea un proyecto Maven.
  2. Agregar dependencia GSON en XML archivo.
  3. Cree un objeto Java antiguo y simple para convertirlo a JSON.
  4. Cree una clase Java para convertir el objeto Java a JSON.
Convertir objeto Java a JSON

Paso 1: crear un proyecto Maven

En el primer paso, necesitamos crear un proyecto maven usando eclipse IDE. Convertir objetos Java a JSON es un concepto avanzado de Java, por lo que le recomendamos utilizar un IDE como eclipse para comprender fácilmente los programas.

Convertir objeto Java a JSON

Paso 2: agregar dependencia GSON en pom.xml

En el siguiente paso, debemos agregar la siguiente dependencia GSON en el archivo pom.xml para usar la biblioteca GSON.

.siguiente java
 com.google.code.gson gson 2.8.6 

Después de agregar la dependencia, el archivo pom.xml tiene el siguiente aspecto:

Convertir objeto Java a JSON

Paso 3: cree POJO para convertirlo a JSON

En el siguiente paso, necesitamos crear un POJO , que queremos convertir en un objeto JSON. En nuestro ejemplo, creamos una clase MobilePhone con captadores y definidores para marca, nombre, carnero , y ROM .

MobilePhone.java

 package javaTpoint.JavaObjectToJSON; //Creating MobilePhone class public class MobilePhone { //Creating properties of the class private String brand; private String name; private int ram; private int rom; //Setter and Getters public String getBrand() { return brand; } public void setBrand(String brand) { this.brand = brand; } public String getName() { return name; } public void setName(String name) { this.name = name; } public int getRam() { return ram; } public void setRam(int ram) { this.ram = ram; } public int getRom() { return rom; } public void setRom(int rom) { this.rom = rom; } Overriding the toString() method @Override public String toString() { // TODO Auto-generated method stub return ''MobilePhone [MobileBrand '+ brand + ', MobileName = ' + name + ', RAM = ' + ram + ', ROM = ' + rom + ']'; } } 

Paso 4: cree una clase Java para convertir el objeto Java en JSON

Necesitamos crear una nueva clase Java que use GSON para convertir el objeto MobilePhone a JSON. En esta clase, crearemos el método getMobile(). Dentro del método, establecemos los valores de las propiedades de la clase MobilePhone y devolvemos el objeto MobilePhone.

En el método principal, crearemos un objeto de la clase MobilePhone y almacenaremos el valor devuelto por el método geMobile(). Después de eso, usaremos el Gson().toJson() método para convertir ese objeto en un objeto JSON.

ConvertJSON.java

 package JavaTpoint.JavaObjectToJSON; import com.google.gson.Gson; public class ConvertJSON { public static MobilePhone getMobile(MobilePhone mobile) { mobile.setBrand('SAMSUNG'); mobile.setName('J2 Core'); mobile.setRam(2); mobile.setRom(4); return mobile; } public static void main(String[] args) { // TODO Auto-generated method stub MobilePhone mobilePhone = new MobilePhone(); mobilePhone = getMobile(mobilePhone); System.out.println('The JSON representation of Object mobilePhone is '); System.out.println(new Gson().toJson(mobilePhone)); } } 

Cuando ejecutamos el archivo ConvertJSON.java, veremos el objeto JSON del objeto de clase MobilePhone.

Convertir objeto Java a JSON

Usando la biblioteca de Jackson

jackson La biblioteca es una de las bibliotecas basadas en Java más simples. La biblioteca Jackson se utiliza para serializar el objeto Java a JSON y viceversa. El Asignador de objetos La clase de la API de Jackson proporciona métodos para convertir el objeto Java al formato u objeto JSON. El Asignador de objetos clase escribirValueAsString() El método toma el objeto JSON como parámetro y devuelve su respectiva cadena JSON.

Estos son los siguientes pasos para convertir el objeto Java en un objeto JSON usando la API de Jackson:

búsqueda lineal en java
  1. Crear un proyecto Maven
  2. Agregue la dependencia de Jackson al archivo pom.xml.
  3. Crea un objeto POJO.
  4. Cree una nueva clase para convertir un objeto Java en un objeto JSON.
Convertir objeto Java a JSON

Paso 1: crear un proyecto Maven

En el primer paso, necesitamos crear un proyecto maven usando eclipse IDE. Al igual que GSON, la API de Jackson también es compatible con Eclipse.

Convertir objeto Java a JSON

Paso 2: agregue la dependencia de Jackson en pom.xml

En el siguiente paso, debemos agregar la siguiente dependencia de Jackson en nuestro archivo pom.xml para usar la biblioteca Jackson.

 com.fasterxml.jackson.core jackson-databind 2.12.1 

Convertir objeto Java a JSON

Paso 3: cree POJO para convertirlo a JSON

int a cadena java

En el siguiente paso, necesitamos crear un POJO, que queremos convertir en un objeto JSON. En este ejemplo, creamos una clase Producto que tiene captadores y definidores para propiedades como identificación, nombre, y precio .

Product.java

 package JavaTpoint.JavaObjectToJSON; //Creating Product class public class Product { //Creating properties of Product class private int id; private String name; private int price; //Getter and Setters public int getId() { return id; } public void setId(int id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public int getPrice() { return price; } public void setPrice(int price) { this.price = price; } @Override public String toString() { // TODO Auto-generated method stub return ''Product [ProductId '+ id + ', ProductName = ' + name + ', ProductPrice = ' + price + ']'; } } 

Paso 4: cree una clase Java para convertir el objeto Java en JSON

Al igual que en nuestro ejemplo anterior de GSON, también crearemos una nueva clase Java. ObjetoAJson . Dentro del método, hemos creado el método getObjectData() para establecer los valores del objeto Producto y devolver ese objeto de la clase Producto.

En el método main(), hemos creado un objeto de la clase Producto y la clase ObjectMapper. Después de eso, usaremos el escribirValueAsString() método de la clase ObjectMapper para convertir el objeto Java en un objeto JSON.

ObjectToJson.java

 package JavaTpoint.JavaObjectToJSON; import java.io.IOException; import com.fasterxml.jackson.databind.ObjectMapper; public class ObjectToJson { public static void main(String[] a) { // Creating object of Product Product product = new Product(); // Inserting the data into the object product = getObjectData(product); // Creating Object of ObjectMapper define in Jackson API ObjectMapper Obj = new ObjectMapper(); try { // Converting the Java object into a JSON string String jsonStr = Obj.writeValueAsString(product); // Displaying Java object into a JSON string System.out.println(jsonStr); } catch (IOException e) { e.printStackTrace(); } } // Getting data that we want to insert into an object public static Product getObjectData(Product product) { // Insert the data product.setId(101); product.setName('Spark 131'); product.setPrice(10000); // Returning the product object return product; } } 

Cuando ejecutamos el ObjectToJson.java archivo, veremos la cadena JSON del objeto de clase Producto.

Convertir objeto Java a JSON

Ambos métodos se utilizan en diferentes escenarios. Ambos son simples, rápidos y fáciles de usar y entender.