JSON reprezintă Notarea obiectelor JavaScript acesta este un format ponderat foarte mic pentru stocarea și transportul datelor. Formatul JSON este foarte ușor de înțeles deoarece are un autodescrierea natură. JSON este folosit în principal pentru a transmite date între un server și o aplicație web.
Detaliile unui angajat scrise în format JSON arată astfel:
{ 'Employee': { 'name': 'Emma Watson', 'salary': 40000, 'married': false } }
obiect Java este o instanță a unei clase sau a unei componente autonome având proprietăți și metode pentru a face un anumit tip de date utile. Java obiectul are o stare, un comportament și o identitate.
Obiectul Java al unui angajat este scris în felul următor:
//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); } }
De multe ori trebuie să convertim obiectele Java în JSON, astfel încât să le putem înțelege cu ușurință. Pentru a converti un obiect Java într-un obiect JSON, avem următoarele două metode sau modalități:
- Folosind biblioteca GSON
- Folosind Jackson API
Să-i înțelegem pe amândoi unul câte unul.
Folosind biblioteca GSON
The GSON biblioteca joacă un rol important în conversia unui obiect Java în JSON. Biblioteca GSON nu numai că convertește obiectul Java în JSON, dar îl și folosește pentru a converti șirul JSON în obiectul său Java echivalent.
Aceștia sunt următorii pași pentru a converti un obiect Java în JSON:
- Creați un proiect Maven.
- Adăugați dependența GSON în xml fişier.
- Creați obiect Java simplu vechi pentru a fi convertit în JSON.
- Creați o clasă Java pentru a converti obiectul Java în JSON.
Pasul 1: Creați un proiect Maven
În primul pas, trebuie să creăm un proiect Maven folosind IDE-ul eclipse. Convertirea obiectelor Java în JSON este un concept Java avansat, așa că vă recomandăm să utilizați un IDE precum Eclipse pentru a înțelege cu ușurință programele.
Pasul 2: Adăugați dependența GSON în pom.xml
În pasul următor, trebuie să adăugăm următoarea dependență GSON în fișierul pom.xml pentru a folosi biblioteca GSON.
numele produselor de machiaj
com.google.code.gson gson 2.8.6
După adăugarea dependenței, fișierul pom.xml arată astfel:
Pasul 3: Creați POJO pentru a converti în JSON
În pasul următor, trebuie să creăm un POJO , pe care dorim să-l convertim într-un obiect JSON. În exemplul nostru, creăm o clasă MobilePhone cu getter și setter pentru marca, nume, berbec , și 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 + ']'; } }
Pasul 4: Creați o clasă Java pentru a converti obiectul Java în JSON
Trebuie să creăm o nouă clasă Java care să folosească GSON pentru a converti obiectul MobilePhone în JSON. În această clasă, vom crea metoda getMobile(). În cadrul metodei, setăm valorile la proprietățile clasei MobilePhone și returnăm obiectul MobilePhone.
În metoda principală, vom crea un obiect din clasa MobilePhone și vom stoca valoarea returnată a metodei geMobile(). După aceea, vom folosi Gson().toJson() metoda de a converti acel obiect într-un obiect 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)); } }
Când rulăm fișierul ConvertJSON.java, vom vedea obiectul JSON al obiectului clasei MobilePhone.
Folosind biblioteca Jackson
Jackson library este una dintre cele mai simple biblioteci bazate pe Java. Biblioteca Jackson este folosită pentru a serializa obiectul Java în JSON și invers. The ObjectMapper Clasa Jackson API oferă metode pentru a converti obiectul Java în format sau obiect JSON. The ObjectMapper clasă writeValueAsString() metoda ia obiectul JSON ca parametru și returnează șirul JSON respectiv.
Aceștia sunt următorii pași pentru a converti obiectul Java într-un obiect JSON folosind API-ul Jackson:
șir json java
- Creați un proiect Maven
- Adăugați dependența Jackson în fișierul pom.xml.
- Creați un obiect POJO.
- Creați o nouă clasă pentru a converti obiectul Java în obiect JSON.
Pasul 1: Creați un proiect Maven
În primul pas, trebuie să creăm un proiect Maven folosind IDE-ul eclipse. La fel ca GSON, Jackson API este, de asemenea, acceptat de Eclipse.
Pasul 2: Adăugați dependența Jackson în pom.xml
În pasul următor, trebuie să adăugăm următoarea dependență Jackson în fișierul nostru pom.xml pentru a folosi biblioteca Jackson.
șir înlocuiește toate java
com.fasterxml.jackson.core jackson-databind 2.12.1
Pasul 3: Creați POJO pentru a converti în JSON
În pasul următor, trebuie să creăm un POJO, pe care dorim să-l convertim într-un obiect JSON. În acest exemplu, creăm o clasă Product care are getter și setter pentru proprietăți precum id, nume, și Preț .
Produs.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 + ']'; } }
Pasul 4: Creați o clasă Java pentru a converti obiectul Java în JSON
La fel ca exemplul nostru anterior de GSON, vom crea și o nouă clasă Java ObjectToJson . În cadrul metodei, am creat metoda getObjectData() pentru a seta valorile obiectului Product și a returna acel obiect din clasa Product.
În metoda main(), am creat un obiect din clasa Product și clasa ObjectMapper. După aceea, vom folosi writeValueAsString() metoda clasei ObjectMapper pentru a transforma obiectul Java într-un obiect 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; } }
Când rulăm ObjectToJson.java fișier, vom vedea șirul JSON al obiectului clasa Product.
Ambele metode sunt utilizate în scenarii diferite. Ambele sunt simple, rapide și ușor de utilizat și de înțeles.