JSON står for JavaScript-objektnotasjon som er et veldig lite vektet format for å lagre og transportere data. JSON-formatet er veldig enkelt å forstå fordi det har en selvbeskrivende natur. JSON brukes hovedsakelig til å overføre data mellom en server og en webapplikasjon.
Detaljene til en ansatt skrevet i JSON-formatet ser slik ut:
{ 'Employee': { 'name': 'Emma Watson', 'salary': 40000, 'married': false } }
Java-objekt er en forekomst av en klasse eller en selvstendig komponent som har egenskaper og metoder for å gjøre en bestemt type data nyttig. Java objektet har en tilstand, atferd og identitet.
Java-objektet til en ansatt er skrevet på følgende måte:
//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 ganger må vi konvertere Java-objekter til JSON slik at vi enkelt kan forstå dem. For å konvertere et Java-objekt til et JSON-objekt, har vi følgende to metoder eller måte:
- Bruker GSON-biblioteket
- Bruker Jackson API
La oss forstå begge en etter en.
Bruker GSON-biblioteket
De GSON biblioteket spiller en viktig rolle i å konvertere et Java-objekt til JSON. GSON-biblioteket konverterer ikke bare Java-objekt til JSON, men bruker det også til å konvertere JSON-strengen til dets tilsvarende Java-objekt.
Dette er følgende trinn for å konvertere et Java-objekt til JSON:
- Lag et Maven-prosjekt.
- Legg til GSON-avhengighet xml fil.
- Lag vanlig gammelt Java-objekt for å konvertere til JSON.
- Opprett en Java-klasse for å konvertere Java-objektet til JSON.
Trinn 1: Lag et Maven-prosjekt
I det første trinnet må vi lage et maven-prosjekt ved å bruke eclipse IDE. Konvertering av Java-objekter til JSON er et avansert Java-konsept, så vi anbefaler deg å bruke en IDE som eclipse for å enkelt forstå programmene.
Trinn 2: Legg til GSON-avhengighet i pom.xml
I neste trinn må vi legge til følgende GSON-avhengighet i pom.xml-filen for å bruke GSON-biblioteket.
datamaskin oppfunnet år
com.google.code.gson gson 2.8.6
Etter å ha lagt til avhengigheten, ser pom.xml-filen slik ut:
Trinn 3: Lag POJO for å konvertere til JSON
I neste trinn må vi lage en POJO , som vi ønsker å konvertere til et JSON-objekt. I vårt eksempel lager vi en klasse MobilePhone med getter og settere for merke, 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 + ']'; } }
Trinn 4: Lag en Java-klasse for å konvertere Java-objektet til JSON
Vi må lage en ny Java-klasse som bruker GSON til å konvertere MobilePhone-objektet til JSON. I denne klassen vil vi lage getMobile()-metoden. Inne i metoden setter vi verdiene til MobilePhone-klassens egenskaper og returnerer MobilePhone-objektet.
I hovedmetoden vil vi lage et objekt av MobilePhone-klassen og lagre geMobile()-metodens returnerte verdi. Etter det vil vi bruke Gson().toJson() metode for å konvertere det objektet til et JSON-objekt.
KonverterJSON.java
mamta kulkarni
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 kjører ConvertJSON.java-filen, vil vi se JSON-objektet til MobilePhone-klasseobjektet.
Bruker Jackson-biblioteket
Jackson biblioteket er et av de enkleste Java-baserte bibliotekene. Jackson-biblioteket brukes til å serialisere Java-objektet til JSON og omvendt. De ObjectMapper klasse av Jackson API gir metoder for å konvertere Java-objektet til JSON-format eller -objekt. De ObjectMapper klasse writeValueAsString() metoden tar JSON-objektet som en parameter og returnerer dens respektive JSON-streng.
Dette er følgende trinn for å konvertere Java-objektet til et JSON-objekt ved hjelp av Jackson API:
- Lag et Maven-prosjekt
- Legg til Jackson-avhengighet til pom.xml-filen.
- Lag et POJO-objekt.
- Opprett en ny klasse for å konvertere Java-objekt til JSON-objekt.
Trinn 1: Lag et Maven-prosjekt
I det første trinnet må vi lage et maven-prosjekt ved å bruke eclipse IDE. Akkurat som GSON, støttes Jackson API også av Eclipse.
Trinn 2: Legg til Jackson-avhengighet i pom.xml
I neste trinn må vi legge til følgende Jackson-avhengighet i vår pom.xml-fil for å bruke Jackson-biblioteket.
com.fasterxml.jackson.core jackson-databind 2.12.1
Trinn 3: Lag POJO for å konvertere til JSON
I neste trinn må vi lage en POJO, som vi ønsker å konvertere til et JSON-objekt. I dette eksemplet lager vi et klasseprodukt som har getter og settere for egenskapene 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 + ']'; } }
Trinn 4: Lag en Java-klasse for å konvertere Java-objektet til JSON
Akkurat som vårt forrige eksempel på GSON, vil vi også lage en ny Java-klasse ObjectToJson . Inne i metoden har vi laget getObjectData()-metoden for å sette verdiene til Product-objektet og returnere det objektet til Product-klassen.
I main()-metoden har vi laget et objekt av klassen Product og ObjectMapper-klassen. Etter det vil vi bruke writeValueAsString() metoden til ObjectMapper-klassen for å 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 kjører ObjectToJson.java fil, vil vi se JSON-strengen til produktklasseobjektet.
Begge metodene brukes i forskjellige scenarier. Begge er enkle, raske og enkle å bruke og forstå.
java int til dobbel