logo

Konvertuoti Java objektą į JSON

JSON reiškia „JavaScript“ objektų žymėjimas tai labai mažas svertinis formatas duomenims saugoti ir transportuoti. JSON formatą labai lengva suprasti, nes jis turi a save apibūdinantis gamta. JSON daugiausia naudojamas duomenims perduoti tarp serverio ir žiniatinklio programos.

Išsami informacija apie darbuotoją, parašyta JSON formatu, atrodo taip:

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

Java objektas yra klasės arba savarankiško komponento pavyzdys, turintis savybių ir metodų, leidžiančių tam tikro tipo duomenis padaryti naudingais. Java objektas turi būseną, elgesį ir tapatybę.

Darbuotojo Java objektas rašomas taip:

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

Daug kartų turime konvertuoti „Java“ objektus į JSON, kad galėtume lengvai juos suprasti. Norėdami konvertuoti „Java“ objektą į JSON objektą, turime šiuos du metodus arba būdus:

  1. Naudojant GSON biblioteką
  2. Naudojant Jackson API
Konvertuoti Java objektą į JSON

Supraskime juos abu po vieną.

Naudojant GSON biblioteką

The GSON biblioteka vaidina svarbų vaidmenį konvertuojant Java objektą į JSON. GSON biblioteka ne tik konvertuoja „Java“ objektą į JSON, bet ir naudoja ją JSON eilutei konvertuoti į atitinkamą „Java“ objektą.

Norėdami konvertuoti „Java“ objektą į JSON, atlikite šiuos veiksmus:

  1. Sukurkite Maven projektą.
  2. Pridėti GSON priklausomybę xml failą.
  3. Sukurkite paprastą seną „Java“ objektą, kurį norite konvertuoti į JSON.
  4. Sukurkite Java klasę, kad konvertuotumėte Java objektą į JSON.
Konvertuoti Java objektą į JSON

1 veiksmas: sukurkite Maven projektą

Pirmame žingsnyje turime sukurti „maven“ projektą naudodami „eclipse IDE“. „Java“ objektų konvertavimas į JSON yra pažangi „Java“ koncepcija, todėl rekomenduojame naudoti IDE, pvz., „Eclipse“, kad lengvai suprastumėte programas.

Konvertuoti Java objektą į JSON

2 veiksmas: pridėkite GSON priklausomybę pom.xml

Kitame veiksme pom.xml faile turime pridėti šią GSON priklausomybę, kad galėtume naudoti GSON biblioteką.

java galiojantys identifikatoriai
 com.google.code.gson gson 2.8.6 

Pridėjus priklausomybę, pom.xml failas atrodo taip:

Konvertuoti Java objektą į JSON

3 veiksmas: sukurkite POJO, kad konvertuotumėte į JSON

klasė vs objektas java

Kitame žingsnyje turime sukurti a POJO , kurį norime konvertuoti į JSON objektą . Mūsų pavyzdyje mes sukuriame klasę MobilePhone su geteriu ir setteriais prekės ženklas, pavadinimas, avinas , ir 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 + ']'; } } 

4 veiksmas: sukurkite „Java“ klasę, kad „Java“ objektas būtų konvertuojamas į JSON

Turime sukurti naują „Java“ klasę, kuri naudoja GSON, kad „MobilePhone“ objektas būtų konvertuojamas į JSON. Šioje klasėje sukursime getMobile() metodą. Metodo viduje nustatome MobilePhone klasės ypatybes ir grąžiname MobilePhone objektą.

Pagrindiniame metode sukursime MobilePhone klasės objektą ir išsaugosime metodo geMobile() grąžintą reikšmę. Po to mes naudosime Gson().toJson() metodas konvertuoti tą objektą į JSON objektą.

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

Kai paleisime ConvertJSON.java failą, pamatysime MobilePhone klasės objekto JSON objektą.

Konvertuoti Java objektą į JSON

Jackson bibliotekos naudojimas

Džeksonas biblioteka yra viena iš paprasčiausių Java bibliotekų. Džeksono biblioteka naudojama „Java“ objektui suskirstyti į JSON ir atvirkščiai. The ObjectMapper Jackson API klasė pateikia metodus, kaip konvertuoti Java objektą į JSON formatą arba objektą. The ObjectMapper klasė writeValueAsString() metodas paima JSON objektą kaip parametrą ir grąžina atitinkamą JSON eilutę.

Norėdami konvertuoti „Java“ objektą į JSON objektą naudojant Jackson API, atlikite šiuos veiksmus:

  1. Sukurkite Maven projektą
  2. Pridėkite Jackson priklausomybę prie pom.xml failo.
  3. Sukurkite POJO objektą.
  4. Sukurkite naują klasę, norėdami konvertuoti „Java“ objektą į JSON objektą.
Konvertuoti Java objektą į JSON

1 veiksmas: sukurkite Maven projektą

Pirmame žingsnyje turime sukurti „maven“ projektą naudodami „eclipse IDE“. Kaip ir GSON, „Jackson API“ taip pat palaiko „Eclipse“.

Konvertuoti Java objektą į JSON

2 veiksmas: pridėkite Jackson priklausomybę pom.xml

Kitame veiksme, norėdami naudoti Džeksono biblioteką, į savo pom.xml failą turime įtraukti šią Džeksono priklausomybę.

 com.fasterxml.jackson.core jackson-databind 2.12.1 

Konvertuoti Java objektą į JSON

3 veiksmas: sukurkite POJO, kad konvertuotumėte į JSON

Kitame žingsnyje turime sukurti POJO, kurį norime konvertuoti į JSON objektą. Šiame pavyzdyje sukuriame klasę Produktas, turintis geter ir setters tokioms ypatybėms kaip ID, vardas, ir kaina .

Produktas.java

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

4 veiksmas: sukurkite „Java“ klasę, kad „Java“ objektas būtų konvertuojamas į JSON

Kaip ir ankstesniame GSON pavyzdyje, taip pat sukursime naują Java klasę ObjectToJson . Metodo viduje sukūrėme metodą getObjectData() norėdami nustatyti produkto objekto reikšmes ir grąžinti tą produkto klasės objektą.

Main() metodu sukūrėme produkto klasės ir ObjectMapper klasės objektą. Po to mes naudosime writeValueAsString() ObjectMapper klasės metodas, skirtas paslėpti Java objektą į 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; } } 

Kai paleidžiame ObjectToJson.java failą, pamatysime produkto klasės objekto JSON eilutę.

Konvertuoti Java objektą į JSON

Abu metodai naudojami skirtinguose scenarijuose. Abu yra paprasti, greiti ir lengvai naudojami bei suprantami.