JSON sta per Notazione oggetto JavaScript questo è un formato ponderato molto piccolo per archiviare e trasportare dati. Il formato JSON è molto facile da capire perché ha un'estensione auto-descrivente natura. JSON viene utilizzato principalmente per trasmettere dati tra un server e un'applicazione web.
I dettagli di un dipendente scritti nel formato JSON sono simili a:
{ 'Employee': { 'name': 'Emma Watson', 'salary': 40000, 'married': false } }
Oggetto Java è un'istanza di una classe o di un componente autonomo avente proprietà e metodi per rendere utile un certo tipo di dati. Giava l'oggetto ha uno stato, un comportamento e un'identità.
L'oggetto Java di un dipendente è scritto nel modo seguente:
//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); } }
Molte volte abbiamo bisogno di convertire oggetti Java in JSON in modo da poterli comprendere facilmente. Per convertire un oggetto Java in un oggetto JSON, abbiamo i seguenti due metodi:
- Utilizzando la libreria GSON
- Utilizzando l'API Jackson
Comprendiamoli entrambi uno per uno.
Utilizzando la libreria GSON
IL GSON La libreria gioca un ruolo importante nella conversione di un oggetto Java in JSON. La libreria GSON non solo converte l'oggetto Java in JSON, ma lo utilizza anche per convertire la stringa JSON nel suo oggetto Java equivalente.
Questi sono i seguenti passaggi per convertire un oggetto Java in JSON:
- Crea un progetto Maven.
- Aggiungi la dipendenza GSON in xml file.
- Crea un semplice oggetto Java vecchio da convertire in JSON.
- Crea una classe Java per convertire l'oggetto Java in JSON.
Passaggio 1: crea un progetto Maven
Nel primo passaggio, dobbiamo creare un progetto Maven utilizzando l'IDE Eclipse. La conversione di oggetti Java in JSON è un concetto Java avanzato, quindi ti consigliamo di utilizzare un IDE come Eclipse per comprendere facilmente i programmi.
Passaggio 2: aggiungi la dipendenza GSON in pom.xml
Nel passaggio successivo, dobbiamo aggiungere la seguente dipendenza GSON nel file pom.xml per utilizzare la libreria GSON.
analizzando la stringa in int
com.google.code.gson gson 2.8.6
Dopo aver aggiunto la dipendenza, il file pom.xml avrà il seguente aspetto:
Passaggio 3: crea POJO per convertirlo in JSON
1nf 2nf 3nf
Nel passaggio successivo, dobbiamo creare un file POJO , che vogliamo convertire in un oggetto JSON . Nel nostro esempio, creiamo una classe MobilePhone con getter e setter per marca, nome, montone , E rom .
Cellulare.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 + ']'; } }
Passaggio 4: crea una classe Java per convertire l'oggetto Java in JSON
Dobbiamo creare una nuova classe Java che utilizzi GSON per convertire l'oggetto MobilePhone in JSON. In questa classe creeremo il metodo getMobile(). All'interno del metodo, impostiamo i valori sulle proprietà della classe MobilePhone e restituiamo l'oggetto MobilePhone.
Nel metodo main creeremo un oggetto della classe MobilePhone e memorizzeremo il valore restituito dal metodo geMobile(). Successivamente utilizzeremo il file Gson().toJson() metodo per convertire quell'oggetto in un oggetto 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)); } }
Quando eseguiamo il file ConvertJSON.java, vedremo l'oggetto JSON dell'oggetto classe MobilePhone.
Utilizzando la libreria Jackson
Jackson libreria è una delle librerie basate su Java più semplici. La libreria Jackson viene utilizzata per serializzare l'oggetto Java in JSON e viceversa. IL ObjectMapper La classe dell'API Jackson fornisce metodi per convertire l'oggetto Java in formato o oggetto JSON. IL ObjectMapper classe writeValueAsString() Il metodo accetta l'oggetto JSON come parametro e restituisce la rispettiva stringa JSON.
Questi sono i seguenti passaggi per convertire l'oggetto Java in un oggetto JSON utilizzando l'API Jackson:
- Crea un progetto Maven
- Aggiungi la dipendenza Jackson al file pom.xml.
- Crea un oggetto POJO.
- Crea una nuova classe per convertire l'oggetto Java in oggetto JSON.
Passaggio 1: crea un progetto Maven
Nel primo passaggio, dobbiamo creare un progetto Maven utilizzando l'IDE Eclipse. Proprio come GSON, anche l'API Jackson è supportata da Eclipse.
Passaggio 2: aggiungi la dipendenza Jackson in pom.xml
Nel passaggio successivo, dobbiamo aggiungere la seguente dipendenza Jackson nel nostro file pom.xml per utilizzare la libreria Jackson.
com.fasterxml.jackson.core jackson-databind 2.12.1
Passaggio 3: crea POJO per convertirlo in JSON
Nel passaggio successivo, dobbiamo creare un POJO, che vogliamo convertire in un oggetto JSON. In questo esempio, creiamo una classe Product con getter e setter per le proprietà come ID, nome, E prezzo .
Prodotto.java
apache
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 + ']'; } }
Passaggio 4: crea una classe Java per convertire l'oggetto Java in JSON
Proprio come nel nostro precedente esempio di GSON, creeremo anche una nuova classe Java ObjectToJson . All'interno del metodo, abbiamo creato il metodo getObjectData() per impostare i valori sull'oggetto Product e restituire quell'oggetto della classe Product.
Nel metodo main() abbiamo creato un oggetto della classe Product e della classe ObjectMapper. Successivamente utilizzeremo il file writeValueAsString() metodo della classe ObjectMapper per convertire l'oggetto Java in un oggetto 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; } }
Quando eseguiamo il ObjectToJson.java file, vedremo la stringa JSON dell'oggetto della classe Product.
Entrambi i metodi vengono utilizzati in diversi scenari. Entrambi sono semplici, veloci e facili da usare e comprendere.