JSON stoji za JavaScript objektna notacija to je vrlo mali težinski format za pohranu i prijenos podataka. Format JSON vrlo je lako razumjeti jer ima samoopisivanje priroda. JSON se uglavnom koristi za prijenos podataka između poslužitelja i web aplikacije.
Podaci o zaposleniku napisani u JSON formatu izgledaju ovako:
{ 'Employee': { 'name': 'Emma Watson', 'salary': 40000, 'married': false } }
Java objekt je instanca klase ili samostalne komponente koja ima svojstva i metode za korištenje određene vrste podataka. Java objekt ima stanje, ponašanje i identitet.
Java objekt zaposlenika napisan je na sljedeći način:
//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); } }
Mnogo puta trebamo pretvoriti Java objekte u JSON kako bismo ih lakše razumjeli. Za pretvaranje Java objekta u JSON objekt, imamo sljedeće dvije metode ili načina:
- Korištenje GSON knjižnice
- Korištenje Jackson API-ja
Razmotrimo ih oboje jednog po jednog.
Korištenje GSON knjižnice
The GSON biblioteka igra važnu ulogu u pretvaranju Java objekta u JSON. GSON biblioteka ne samo da pretvara Java objekt u JSON, već ga koristi i za pretvaranje JSON niza u njegov ekvivalentni Java objekt.
Ovo su sljedeći koraci za pretvaranje Java objekta u JSON:
- Napravite Maven projekt.
- Dodajte GSON ovisnost xml datoteka.
- Stvorite običan stari Java objekt za pretvaranje u JSON.
- Napravite Java klasu za pretvaranje Java objekta u JSON.
Korak 1: Napravite Maven projekt
U prvom koraku, moramo stvoriti maven projekt koristeći eclipse IDE. Pretvaranje Java objekata u JSON je napredni Java koncept, pa vam preporučujemo da koristite IDE kao što je eclipse kako biste lakše razumjeli programe.
Korak 2: Dodajte GSON ovisnost u pom.xml
U sljedećem koraku trebamo dodati sljedeću GSON ovisnost u datoteku pom.xml za korištenje GSON biblioteke.
shloka mehta obrazovanje
com.google.code.gson gson 2.8.6
Nakon dodavanja ovisnosti, datoteka pom.xml izgleda ovako:
Korak 3: Stvorite POJO za pretvaranje u JSON
U sljedećem koraku moramo kreirati a POJO , koji želimo pretvoriti u JSON objekt. U našem primjeru stvaramo klasu MobilePhone s getterom i setterima za marka, naziv, ram , i ROM .
Mobitel.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 + ']'; } }
Korak 4: Napravite Java klasu za pretvaranje Java objekta u JSON
java pretvara niz u cijeli broj
Moramo stvoriti novu Java klasu koja koristi GSON za pretvaranje objekta MobilePhone u JSON. U ovoj klasi kreirat ćemo metodu getMobile(). Unutar metode postavljamo vrijednosti svojstvima klase MobilePhone i vraćamo objekt MobilePhone.
U glavnoj metodi stvorit ćemo objekt klase MobilePhone i pohraniti vraćenu vrijednost metode geMobile(). Nakon toga ćemo koristiti Gson().toJson() metoda za pretvaranje tog objekta u JSON objekt.
Pretvori JSON.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)); } }
Kada pokrenemo datoteku ConvertJSON.java, vidjet ćemo JSON objekt objekta klase MobilePhone.
Korištenje Jackson knjižnice
Jackson knjižnica je jedna od najjednostavnijih knjižnica temeljenih na Javi. Knjižnica Jackson koristi se za serijalizaciju Java objekta u JSON i obrnuto. The ObjectMapper klasa Jackson API-ja pruža metode za pretvaranje Java objekta u JSON format ili objekt. The ObjectMapper razreda napišiVrijednostKaoNiz() metoda uzima JSON objekt kao parametar i vraća odgovarajući JSON niz.
Ovo su sljedeći koraci za pretvaranje Java objekta u JSON objekt pomoću Jackson API-ja:
- Napravite Maven projekt
- Dodajte Jacksonovu ovisnost u datoteku pom.xml.
- Stvorite POJO objekt.
- Napravite novu klasu za pretvaranje Java objekta u JSON objekt.
Korak 1: Napravite Maven projekt
U prvom koraku, moramo stvoriti maven projekt koristeći eclipse IDE. Baš kao i GSON, Jackson API također podržava Eclipse.
Korak 2: Dodajte Jacksonovu ovisnost u pom.xml
U sljedećem koraku moramo dodati sljedeću Jacksonovu ovisnost u našu datoteku pom.xml da bismo koristili Jacksonovu biblioteku.
com.fasterxml.jackson.core jackson-databind 2.12.1
Korak 3: Stvorite POJO za pretvaranje u JSON
U sljedećem koraku moramo kreirati POJO koji želimo pretvoriti u JSON objekt. U ovom primjeru stvaramo klasu Product koja ima getter i settere za svojstva poput id, ime, i cijena .
Proizvod.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 + ']'; } }
Korak 4: Napravite Java klasu za pretvaranje Java objekta u JSON
Baš kao i naš prethodni primjer GSON-a, također ćemo stvoriti novu Java klasu ObjectToJson . Unutar metode stvorili smo metodu getObjectData() za postavljanje vrijednosti u objekt Product i vraćanje tog objekta klase Product.
U metodi main() kreirali smo objekt klase Product i klase ObjectMapper. Nakon toga ćemo koristiti napišiVrijednostKaoNiz() metoda klase ObjectMapper za pretvaranje Java objekta u JSON objekt.
faktorijel u c
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; } }
Kada pokrenemo ObjectToJson.java datoteci, vidjet ćemo JSON niz objekta klase proizvoda.
Obje se metode koriste u različitim scenarijima. Oba su jednostavna, brza i laka za korištenje i razumijevanje.