logo

Перетворення об’єкта Java на JSON

JSON виступає за Нотація об’єктів JavaScript це дуже малий зважений формат для зберігання та транспортування даних. Формат JSON дуже простий для розуміння, оскільки він має a самоописуючий природи. JSON в основному використовується для передачі даних між сервером і веб-програмою.

Дані про співробітника, написані у форматі JSON, виглядають так:

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

Об'єкт Java це екземпляр класу або самостійного компонента, що має властивості та методи, щоб зробити певний тип даних корисним. Java об'єкт має стан, поведінку та ідентичність.

Об'єкт Java співробітника записується так:

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

Багато разів нам потрібно конвертувати об’єкти Java у JSON, щоб ми могли їх легко зрозуміти. Щоб перетворити об’єкт Java на об’єкт JSON, у нас є два наступних методи або спосіб:

  1. Використання бібліотеки GSON
  2. Використання Jackson API
Перетворення об’єкта Java на JSON

Давайте розберемося в обох по черзі.

Використання бібліотеки GSON

The GSON бібліотека відіграє важливу роль у перетворенні об’єкта Java у JSON. Бібліотека GSON не лише перетворює об’єкт Java на JSON, але й використовує його для перетворення рядка JSON на еквівалентний об’єкт Java.

Щоб перетворити об’єкт Java на JSON, виконайте наведені нижче кроки.

  1. Створіть проект Maven.
  2. Додайте залежність GSON xml файл.
  3. Створіть простий старий об’єкт Java для перетворення в JSON.
  4. Створіть клас Java для перетворення об’єкта Java у JSON.
Перетворення об’єкта Java на JSON

Крок 1: Створіть проект Maven

На першому кроці нам потрібно створити проект maven за допомогою eclipse IDE. Перетворення об’єктів Java у JSON є передовою концепцією Java, тому ми рекомендуємо вам використовувати IDE, як-от eclipse, щоб легко зрозуміти програми.

Перетворення об’єкта Java на JSON

Крок 2: Додайте залежність GSON у pom.xml

На наступному кроці нам потрібно додати наступну залежність GSON у файл pom.xml, щоб використовувати бібліотеку GSON.

дійсні ідентифікатори java
 com.google.code.gson gson 2.8.6 

Після додавання залежності файл pom.xml виглядатиме так:

Перетворення об’єкта Java на JSON

Крок 3. Створіть POJO для перетворення в JSON

цифри в алфавіті

На наступному кроці нам потрібно створити a POJO , який ми хочемо перетворити на об’єкт JSON. У нашому прикладі ми створюємо клас MobilePhone із геттером і сетерами для марка, назва, баран , і ром .

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: Створіть клас Java для перетворення об’єкта Java у JSON

Нам потрібно створити новий клас Java, який використовує GSON для перетворення об’єкта MobilePhone у JSON. У цьому класі ми створимо метод getMobile(). Усередині методу ми встановлюємо значення властивостей класу MobilePhone і повертаємо об’єкт MobilePhone.

У основному методі ми створимо об’єкт класу MobilePhone і збережемо значення, яке повертає метод geMobile(). Після цього ми будемо використовувати Gson().toJson() метод для перетворення цього об’єкта в об’єкт JSON.

Перетворіть 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)); } } 

Коли ми запускаємо файл ConvertJSON.java, ми побачимо об’єкт JSON об’єкта класу MobilePhone.

Перетворення об’єкта Java на JSON

Використання бібліотеки Джексона

Джексон бібліотека є однією з найпростіших бібліотек на основі Java. Бібліотека Джексона використовується для серіалізації об’єкта Java у JSON і навпаки. The ObjectMapper Клас API Джексона надає методи для перетворення об’єкта Java у формат або об’єкт JSON. The ObjectMapper клас writeValueAsString() метод приймає об’єкт JSON як параметр і повертає його відповідний рядок JSON.

Щоб перетворити об’єкт Java на об’єкт JSON за допомогою Jackson API, виконайте такі кроки:

  1. Створіть проект Maven
  2. Додайте залежність Джексона до файлу pom.xml.
  3. Створіть об'єкт POJO.
  4. Створіть новий клас для перетворення об’єкта Java в об’єкт JSON.
Перетворення об’єкта Java на JSON

Крок 1: Створіть проект Maven

На першому кроці нам потрібно створити проект maven за допомогою eclipse IDE. Так само, як GSON, Jackson API також підтримується Eclipse.

Перетворення об’єкта Java на JSON

Крок 2: Додайте залежність Джексона в pom.xml

На наступному кроці нам потрібно додати наступну залежність Джексона в наш файл pom.xml, щоб використовувати бібліотеку Джексона.

 com.fasterxml.jackson.core jackson-databind 2.12.1 

Перетворення об’єкта Java на JSON

Крок 3. Створіть POJO для перетворення в JSON

веб-драйвер

На наступному кроці нам потрібно створити POJO, який ми хочемо перетворити на об’єкт JSON. У цьому прикладі ми створюємо клас Product, який має геттер і сетер для таких властивостей, як id, ім'я, і ціна .

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

Крок 4: Створіть клас Java для перетворення об’єкта Java у JSON

Подібно до нашого попереднього прикладу GSON, ми також створимо новий клас Java ObjectToJson . Усередині методу ми створили метод getObjectData(), щоб встановити значення для об’єкта Product і повернути цей об’єкт класу Product.

У методі main() ми створили об’єкт класу Product і класу ObjectMapper. Після цього ми будемо використовувати writeValueAsString() метод класу ObjectMapper, щоб перетворити об’єкт Java на об’єкт 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; } } 

Коли ми запускаємо ObjectToJson.java файл, ми побачимо рядок JSON об’єкта класу Product.

Перетворення об’єкта Java на JSON

Обидва методи використовуються в різних сценаріях. Обидва прості, швидкі та легкі у використанні та розумінні.