JSON znamená Zápis objektů JavaScript to je velmi malý vážený formát pro ukládání a přenos dat. Formát JSON je velmi snadno srozumitelný, protože má a sebepopisující Příroda. JSON se používá hlavně k přenosu dat mezi serverem a webovou aplikací.
Podrobnosti o zaměstnanci napsané ve formátu JSON vypadají takto:
{ 'Employee': { 'name': 'Emma Watson', 'salary': 40000, 'married': false } }
Java objekt je instancí třídy nebo samostatné komponenty mající vlastnosti a metody pro to, aby byl určitý typ dat užitečný. Jáva objekt má stav, chování a identitu.
Java objekt zaměstnance je napsán následujícím způsobem:
//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); } }
Mnohokrát potřebujeme převést Java objekty do JSON, abychom jim snadno porozuměli. Chcete-li převést objekt Java na objekt JSON, máme následující dvě metody nebo způsoby:
- Použití knihovny GSON
- Použití Jackson API
Pojďme pochopit oba jeden po druhém.
Použití knihovny GSON
The GSON Knihovna hraje důležitou roli při převodu Java objektu na JSON. Knihovna GSON nejen převádí objekt Java na JSON, ale také jej používá k převodu řetězce JSON na jeho ekvivalentní objekt Java.
Toto jsou následující kroky k převodu objektu Java na JSON:
- Vytvořte projekt Maven.
- Přidejte závislost GSON xml soubor.
- Vytvořte Plain Old Java Object pro převod na JSON.
- Vytvořte třídu Java pro převod objektu Java na JSON.
Krok 1: Vytvořte projekt Maven
V prvním kroku musíme vytvořit maven projekt pomocí eclipse IDE. Převod objektů Java do formátu JSON je pokročilý koncept jazyka Java, takže pro snadné pochopení programů doporučujeme použít IDE jako Eclipse.
Krok 2: Přidejte závislost GSON do pom.xml
V dalším kroku musíme do souboru pom.xml přidat následující závislost GSON, abychom mohli používat knihovnu GSON.
připojit k databázi java
com.google.code.gson gson 2.8.6
Po přidání závislosti vypadá soubor pom.xml takto:
Krok 3: Vytvořte POJO pro převod na JSON
V dalším kroku musíme vytvořit a POJO , který chceme převést na objekt JSON . V našem příkladu vytvoříme třídu MobilePhone s getter a setters pro značka, jméno, beran , a 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 + ']'; } }
Krok 4: Vytvořte třídu Java pro převod objektu Java na JSON
Potřebujeme vytvořit novou třídu Java, která používá GSON k převodu objektu MobilePhone na JSON. V této třídě vytvoříme metodu getMobile(). Uvnitř metody nastavíme hodnoty na vlastnosti třídy MobilePhone a vrátíme objekt MobilePhone.
V hlavní metodě vytvoříme objekt třídy MobilePhone a uložíme vrácenou hodnotu metody geMobile(). Poté použijeme Gson().toJson() metoda pro převod tohoto objektu na objekt JSON.
Převést 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)); } }
Když spustíme soubor ConvertJSON.java, uvidíme objekt JSON objektu třídy MobilePhone.
Pomocí knihovny Jackson
Jacksone knihovna je jednou z nejjednodušších knihoven založených na Javě. Knihovna Jackson se používá k serializaci objektu Java na JSON a naopak. The ObjectMapper třída Jackson API poskytuje metody pro převod objektu Java do formátu nebo objektu JSON. The ObjectMapper třída writeValueAsString() metoda přebírá objekt JSON jako parametr a vrací jeho příslušný řetězec JSON.
Toto jsou následující kroky k převodu objektu Java na objekt JSON pomocí Jackson API:
mb na gb
- Vytvořte projekt Maven
- Přidejte závislost Jackson do souboru pom.xml.
- Vytvořte objekt POJO.
- Vytvořte novou třídu pro převod objektu Java na objekt JSON.
Krok 1: Vytvořte projekt Maven
V prvním kroku musíme vytvořit maven projekt pomocí eclipse IDE. Stejně jako GSON i Jackson API podporuje Eclipse.
Krok 2: Přidejte závislost Jackson v pom.xml
V dalším kroku musíme do našeho souboru pom.xml přidat následující závislost Jackson, abychom mohli používat knihovnu Jackson.
připojovací řetězec java
com.fasterxml.jackson.core jackson-databind 2.12.1
Krok 3: Vytvořte POJO pro převod na JSON
V dalším kroku musíme vytvořit POJO, které chceme převést na JSON objekt. V tomto příkladu vytvoříme třídu Product, která má getter a setter pro vlastnosti jako id, jméno, a cena .
Produkt.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 + ']'; } }
Krok 4: Vytvořte třídu Java pro převod objektu Java na JSON
Stejně jako náš předchozí příklad GSON vytvoříme také novou třídu Java ObjectToJson . Uvnitř metody jsme vytvořili metodu getObjectData() pro nastavení hodnot objektu Product a vrácení tohoto objektu třídy Product.
V metodě main() jsme vytvořili objekt třídy Product a třídy ObjectMapper. Poté použijeme writeValueAsString() metoda třídy ObjectMapper k překrytí objektu Java do objektu 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; } }
Když spustíme ObjectToJson.java soubor, uvidíme řetězec JSON objektu třídy Product.
Obě metody se používají v různých scénářích. Oba jsou jednoduché, rychlé a snadno použitelné a pochopitelné.