JSON betekent JavaScript-objectnotatie dat is een zeer klein gewogen formaat om gegevens op te slaan en te transporteren. Het JSON-formaat is heel gemakkelijk te begrijpen omdat het een zelfbeschrijvend natuur. JSON wordt voornamelijk gebruikt om gegevens te verzenden tussen een server en een webapplicatie.
De details van een medewerker geschreven in het JSON-formaat zien er als volgt uit:
{ 'Employee': { 'name': 'Emma Watson', 'salary': 40000, 'married': false } }
Java-object is een instantie van een klasse of een op zichzelf staande component met eigenschappen en methoden om een bepaald type gegevens bruikbaar te maken. Java object heeft een staat, gedrag en identiteit.
Het Java-object van een medewerker wordt op de volgende manier geschreven:
//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); } }
Vaak moeten we Java-objecten naar JSON converteren, zodat we ze gemakkelijk kunnen begrijpen. Om een Java-object naar een JSON-object te converteren, hebben we de volgende twee methoden of manieren:
- GSON-bibliotheek gebruiken
- Jackson-API gebruiken
Laten we ze allebei een voor een begrijpen.
GSON-bibliotheek gebruiken
De GSON bibliotheek speelt een belangrijke rol bij het converteren van een Java-object naar JSON. De GSON-bibliotheek converteert het Java-object niet alleen naar JSON, maar gebruikt het ook om de JSON-tekenreeks naar het equivalente Java-object te converteren.
Dit zijn de volgende stappen om een Java-object naar JSON te converteren:
- Maak een Maven-project.
- Voeg GSON-afhankelijkheid toe xml bestand.
- Maak een gewoon oud Java-object om naar JSON te converteren.
- Maak een Java-klasse om het Java-object naar JSON te converteren.
Stap 1: Maak een Maven-project
In de eerste stap moeten we een maven-project maken met behulp van eclipse IDE. Het converteren van Java-objecten naar JSON is een geavanceerd Java-concept, dus we raden u aan een IDE-achtige eclipse te gebruiken om de programma's gemakkelijk te begrijpen.
Stap 2: Voeg GSON-afhankelijkheid toe in pom.xml
In de volgende stap moeten we de volgende GSON-afhankelijkheid toevoegen aan het bestand pom.xml om de GSON-bibliotheek te kunnen gebruiken.
karakter.vergelijk Java
com.google.code.gson gson 2.8.6
Na het toevoegen van de afhankelijkheid ziet het bestand pom.xml er als volgt uit:
Stap 3: Maak POJO om naar JSON te converteren
In de volgende stap moeten we een POJO , die we willen converteren naar een JSON-object. In ons voorbeeld creëren we een klasse MobilePhone met getter en setters voor merk, naam, ram , En rom .
Mobiele telefoon.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 + ']'; } }
Stap 4: Maak een Java-klasse om het Java-object naar JSON te converteren
We moeten een nieuwe Java-klasse maken die GSON gebruikt om het MobilePhone-object naar JSON te converteren. In deze klasse zullen we de getMobile() methode creëren. Binnen de methode stellen we de waarden in op de eigenschappen van de klasse MobilePhone en retourneren we het MobilePhone-object.
In de hoofdmethode maken we een object van de klasse MobilePhone en slaan we de geretourneerde waarde van de methode geMobile() op. Daarna zullen we gebruik maken van de Gson().toJson() methode om dat object naar een JSON-object te converteren.
Converteer JSON.java
java string.format
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)); } }
Wanneer we het bestand ConvertJSON.java uitvoeren, zien we het JSON-object van het MobilePhone-klasseobject.
Jackson-bibliotheek gebruiken
Jackson bibliotheek is een van de eenvoudigste op Java gebaseerde bibliotheken. De Jackson-bibliotheek wordt gebruikt om het Java-object te serialiseren naar JSON en omgekeerd. De ObjectMapper klasse van de Jackson API biedt methoden om het Java-object naar JSON-indeling of object te converteren. De ObjectMapper klas schrijfWaardeAsString() method neemt het JSON-object als parameter en retourneert de bijbehorende JSON-tekenreeks.
Dit zijn de volgende stappen om het Java-object naar een JSON-object te converteren met behulp van de Jackson API:
- Maak een Maven-project
- Voeg Jackson-afhankelijkheid toe aan het pom.xml-bestand.
- Maak een POJO-object.
- Maak een nieuwe klasse om Java-object naar JSON-object te converteren.
Stap 1: Maak een Maven-project
In de eerste stap moeten we een maven-project maken met behulp van eclipse IDE. Net als GSON wordt ook de Jackson API ondersteund door de Eclipse.
Stap 2: Voeg Jackson-afhankelijkheid toe in pom.xml
In de volgende stap moeten we de volgende Jackson-afhankelijkheid toevoegen aan ons pom.xml-bestand om de Jackson-bibliotheek te gebruiken.
com.fasterxml.jackson.core jackson-databind 2.12.1
Stap 3: Maak POJO om naar JSON te converteren
In de volgende stap moeten we een POJO maken, die we willen converteren naar een JSON-object. In dit voorbeeld maken we een klasse Product met getter en setters voor de eigenschappen like identiteitsbewijs, naam, En prijs .
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 + ']'; } }
Stap 4: Maak een Java-klasse om het Java-object naar JSON te converteren
Net als ons vorige voorbeeld van GSON zullen we ook een nieuwe Java-klasse maken ObjectToJson . Binnen de methode hebben we de methode getObjectData() gemaakt om de waarden in te stellen op het Product-object en dat object van de Product-klasse te retourneren.
In de methode main() hebben we een object van de klasse Product en de klasse ObjectMapper gemaakt. Daarna zullen we gebruik maken van de schrijfWaardeAsString() methode van de klasse ObjectMapper om het Java-object om te zetten in een JSON-object.
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; } }
Wanneer we de ObjectToJson.java bestand, zullen we de JSON-tekenreeks van het Product-klasseobject zien.
Beide methoden worden in verschillende scenario's gebruikt. Beide zijn eenvoudig, snel en gemakkelijk te gebruiken en te begrijpen.
Java sorteert een lijst