JSON steht für JavaScript-Objekt-Notation Das ist ein sehr kleines gewichtetes Format zum Speichern und Transportieren von Daten. Das JSON-Format ist sehr leicht zu verstehen, da es über eine verfügt selbstbeschreibend Natur. JSON wird hauptsächlich zur Übertragung von Daten zwischen einem Server und einer Webanwendung verwendet.
Die im JSON-Format geschriebenen Angaben zu einem Mitarbeiter sehen wie folgt aus:
{ 'Employee': { 'name': 'Emma Watson', 'salary': 40000, 'married': false } }
Java-Objekt ist eine Instanz einer Klasse oder einer eigenständigen Komponente mit Eigenschaften und Methoden, um einen bestimmten Datentyp nützlich zu machen. Java Objekt hat einen Zustand, ein Verhalten und eine Identität.
Das Java-Objekt eines Mitarbeiters wird folgendermaßen geschrieben:
//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); } }
Oft müssen wir Java-Objekte in JSON konvertieren, damit wir sie leicht verstehen können. Um ein Java-Objekt in ein JSON-Objekt zu konvertieren, haben wir die folgenden zwei Methoden bzw. Wege:
- Verwendung der GSON-Bibliothek
- Verwenden der Jackson-API
Lassen Sie uns beide einzeln verstehen.
Verwendung der GSON-Bibliothek
Der GSON Die Bibliothek spielt eine wichtige Rolle bei der Konvertierung eines Java-Objekts in JSON. Die GSON-Bibliothek konvertiert nicht nur Java-Objekte in JSON, sondern verwendet sie auch, um die JSON-Zeichenfolge in das entsprechende Java-Objekt zu konvertieren.
Dies sind die folgenden Schritte, um ein Java-Objekt in JSON zu konvertieren:
- Erstellen Sie ein Maven-Projekt.
- GSON-Abhängigkeit hinzufügen xml Datei.
- Erstellen Sie ein einfaches altes Java-Objekt zur Konvertierung in JSON.
- Erstellen Sie eine Java-Klasse, um das Java-Objekt in JSON zu konvertieren.
Schritt 1: Erstellen Sie ein Maven-Projekt
Im ersten Schritt müssen wir ein Maven-Projekt mit der Eclipse-IDE erstellen. Das Konvertieren von Java-Objekten in JSON ist ein fortgeschrittenes Java-Konzept. Wir empfehlen Ihnen daher, eine IDE wie Eclipse zu verwenden, um die Programme einfacher zu verstehen.
Schritt 2: GSON-Abhängigkeit in pom.xml hinzufügen
Im nächsten Schritt müssen wir die folgende GSON-Abhängigkeit in der Datei pom.xml hinzufügen, um die GSON-Bibliothek zu verwenden.
Was ist Verzeichnisübermittlung?
com.google.code.gson gson 2.8.6
Nach dem Hinzufügen der Abhängigkeit sieht die Datei pom.xml wie folgt aus:
Schritt 3: Erstellen Sie POJO zur Konvertierung in JSON
Im nächsten Schritt müssen wir eine erstellen POJO , das wir in ein JSON-Objekt konvertieren möchten. In unserem Beispiel erstellen wir eine Klasse MobilePhone mit Getter und Setter für Marke, Name, Widder , Und 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 + ']'; } }
Schritt 4: Erstellen Sie eine Java-Klasse, um das Java-Objekt in JSON zu konvertieren
iPhone-Emojis auf Android-Handy
Wir müssen eine neue Java-Klasse erstellen, die GSON verwendet, um das MobilePhone-Objekt in JSON zu konvertieren. In dieser Klasse erstellen wir die Methode getMobile(). Innerhalb der Methode legen wir die Werte auf die Eigenschaften der MobilePhone-Klasse fest und geben das MobilePhone-Objekt zurück.
In der Hauptmethode erstellen wir ein Objekt der MobilePhone-Klasse und speichern den zurückgegebenen Wert der geMobile()-Methode. Danach verwenden wir die Gson().toJson() Methode, um dieses Objekt in ein JSON-Objekt zu konvertieren.
ConvertJSON.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)); } }
Wenn wir die Datei ConvertJSON.java ausführen, sehen wir das JSON-Objekt des MobilePhone-Klassenobjekts.
Verwendung der Jackson-Bibliothek
Jackson Die Bibliothek ist eine der einfachsten Java-basierten Bibliotheken. Die Jackson-Bibliothek wird verwendet, um das Java-Objekt in JSON zu serialisieren und umgekehrt. Der ObjectMapper Die Klasse der Jackson-API bietet Methoden zum Konvertieren des Java-Objekts in das JSON-Format oder -Objekt. Der ObjectMapper Klasse writeValueAsString() Die Methode verwendet das JSON-Objekt als Parameter und gibt die entsprechende JSON-Zeichenfolge zurück.
Dies sind die folgenden Schritte, um das Java-Objekt mithilfe der Jackson-API in ein JSON-Objekt zu konvertieren:
- Erstellen Sie ein Maven-Projekt
- Fügen Sie der pom.xml-Datei eine Jackson-Abhängigkeit hinzu.
- Erstellen Sie ein POJO-Objekt.
- Erstellen Sie eine neue Klasse, um ein Java-Objekt in ein JSON-Objekt zu konvertieren.
Schritt 1: Erstellen Sie ein Maven-Projekt
Im ersten Schritt müssen wir ein Maven-Projekt mit der Eclipse-IDE erstellen. Genau wie GSON wird auch die Jackson API von Eclipse unterstützt.
Schritt 2: Jackson-Abhängigkeit in pom.xml hinzufügen
Im nächsten Schritt müssen wir die folgende Jackson-Abhängigkeit zu unserer pom.xml-Datei hinzufügen, um die Jackson-Bibliothek zu verwenden.
com.fasterxml.jackson.core jackson-databind 2.12.1
Schritt 3: Erstellen Sie POJO zur Konvertierung in JSON
Im nächsten Schritt müssen wir ein POJO erstellen, das wir in ein JSON-Objekt umwandeln möchten. In diesem Beispiel erstellen wir eine Klasse Product mit Getter und Setter für die Eigenschaften wie ID, Name, Und Preis .
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 + ']'; } }
Schritt 4: Erstellen Sie eine Java-Klasse, um das Java-Objekt in JSON zu konvertieren
Genau wie in unserem vorherigen GSON-Beispiel werden wir auch eine neue Java-Klasse erstellen ObjectToJson . Innerhalb der Methode haben wir die Methode getObjectData() erstellt, um die Werte für das Product-Objekt festzulegen und dieses Objekt der Product-Klasse zurückzugeben.
In der Methode main() haben wir ein Objekt der Klasse Product und der Klasse ObjectMapper erstellt. Danach verwenden wir die writeValueAsString() Methode der ObjectMapper-Klasse, um das Java-Objekt in ein JSON-Objekt umzuwandeln.
diskrete Mathematik-Negation
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; } }
Wenn wir das ausführen ObjectToJson.java In der Datei sehen wir die JSON-Zeichenfolge des Produktklassenobjekts.
Beide Methoden werden in unterschiedlichen Szenarien verwendet. Beide sind einfach, schnell und leicht zu bedienen und zu verstehen.