logo

Konverter Java-objekt til JSON

JSON står for JavaScript-objektnotation det er et meget lille vægtet format til lagring og transport af data. JSON-formatet er meget let at forstå, fordi det har en selvbeskrivende natur. JSON bruges hovedsageligt til at overføre data mellem en server og en webapplikation.

Detaljerne for en medarbejder skrevet i JSON-formatet ser sådan ud:

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

Java objekt er en forekomst af en klasse eller en selvstændig komponent med egenskaber og metoder til at gøre en bestemt type data nyttige. Java objekt har en tilstand, adfærd og identitet.

Java-objekt for en medarbejder er skrevet på følgende måde:

 //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); } } 

Mange gange skal vi konvertere Java-objekter til JSON, så vi nemt kan forstå dem. For at konvertere et Java-objekt til et JSON-objekt har vi følgende to metoder eller måde:

  1. Bruger GSON-biblioteket
  2. Brug af Jackson API
Konverter Java-objekt til JSON

Lad os forstå dem begge én efter én.

Bruger GSON-biblioteket

Det GSON biblioteket spiller en vigtig rolle i at konvertere et Java-objekt til JSON. GSON-biblioteket konverterer ikke kun Java-objekt til JSON, men bruger det også til at konvertere JSON-strengen til dets tilsvarende Java-objekt.

Disse er følgende trin for at konvertere et Java-objekt til JSON:

  1. Opret et Maven-projekt.
  2. Tilføj GSON-afhængighed i xml fil.
  3. Opret almindeligt gammelt Java-objekt for at konvertere til JSON.
  4. Opret en Java-klasse for at konvertere Java-objektet til JSON.
Konverter Java-objekt til JSON

Trin 1: Opret et Maven-projekt

I det første trin skal vi oprette et maven-projekt ved hjælp af eclipse IDE. Konvertering af Java-objekter til JSON er et avanceret Java-koncept, så vi anbefaler dig at bruge en IDE som eclipse for nemt at forstå programmerne.

Konverter Java-objekt til JSON

Trin 2: Tilføj GSON-afhængighed i pom.xml

I det næste trin skal vi tilføje følgende GSON-afhængighed i pom.xml-filen for at bruge GSON-biblioteket.

t ff
 com.google.code.gson gson 2.8.6 

Efter tilføjelse af afhængigheden ser pom.xml-filen sådan ud:

Konverter Java-objekt til JSON

Trin 3: Opret POJO for at konvertere til JSON

I næste trin skal vi skabe en POJO , som vi ønsker at konvertere til et JSON-objekt. I vores eksempel opretter vi en klasse Mobiltelefon med getter og sættere til mærke, navn, ram , og 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 + ']'; } } 

Trin 4: Opret en Java-klasse for at konvertere Java-objektet til JSON

Vi skal oprette en ny Java-klasse, der bruger GSON til at konvertere MobilePhone-objektet til JSON. I denne klasse vil vi oprette getMobile() metoden. Inde i metoden sætter vi værdierne til MobilePhone-klassens egenskaber og returnerer MobilePhone-objektet.

I hovedmetoden vil vi oprette et objekt af MobilePhone-klassen og gemme geMobile()-metodens returnerede værdi. Derefter vil vi bruge Gson().toJson() metode til at konvertere dette objekt til et JSON-objekt.

KonverterJSON.java

gemt programstyring
 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)); } } 

Når vi kører filen ConvertJSON.java, vil vi se JSON-objektet for MobilePhone-klasseobjektet.

Konverter Java-objekt til JSON

Bruger Jackson bibliotek

Jackson bibliotek er et af de enkleste Java-baserede biblioteker. Jackson-biblioteket bruges til at serialisere Java-objektet til JSON og omvendt. Det ObjectMapper klasse af Jackson API giver metoder til at konvertere Java-objektet til JSON-format eller -objekt. Det ObjectMapper klasse writeValueAsString() metoden tager JSON-objektet som en parameter og returnerer dets respektive JSON-streng.

Dette er de følgende trin til at konvertere Java-objektet til et JSON-objekt ved hjælp af Jackson API:

  1. Opret et Maven-projekt
  2. Tilføj Jackson-afhængighed til pom.xml-filen.
  3. Opret et POJO-objekt.
  4. Opret en ny klasse for at konvertere Java-objekt til JSON-objekt.
Konverter Java-objekt til JSON

Trin 1: Opret et Maven-projekt

I det første trin skal vi oprette et maven-projekt ved hjælp af eclipse IDE. Ligesom GSON understøttes Jackson API også af Eclipse.

Konverter Java-objekt til JSON

Trin 2: Tilføj Jackson-afhængighed i pom.xml

I det næste trin skal vi tilføje følgende Jackson-afhængighed i vores pom.xml-fil for at bruge Jackson-biblioteket.

 com.fasterxml.jackson.core jackson-databind 2.12.1 

Konverter Java-objekt til JSON

Trin 3: Opret POJO for at konvertere til JSON

I næste trin skal vi lave en POJO, som vi vil konvertere til et JSON-objekt. I dette eksempel opretter vi et klasseprodukt med getter og sættere til egenskaberne som id, navn, og pris .

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 + ']'; } } 

Trin 4: Opret en Java-klasse for at konvertere Java-objektet til JSON

Ligesom vores tidligere eksempel på GSON, vil vi også oprette en ny Java-klasse ObjectToJson . Inde i metoden har vi oprettet metoden getObjectData() for at sætte værdierne til Product-objektet og returnere det objekt af Product-klassen.

I main()-metoden har vi oprettet et objekt af klassen Product og klassen ObjectMapper. Derefter vil vi bruge writeValueAsString() metode i ObjectMapper-klassen til at skjule Java-objektet til et JSON-objekt.

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; } } 

Når vi kører ObjectToJson.java fil, vil vi se JSON-strengen for produktklassens objekt.

Konverter Java-objekt til JSON

Begge metoder bruges i forskellige scenarier. Begge er enkle, hurtige og nemme at bruge og forstå.

scanner.next java