logo

המרת אובייקט Java ל-JSON

JSON מייצג סימון אובייקט JavaScript זהו פורמט משוקלל קטן מאוד לאחסון והעברה של נתונים. פורמט JSON קל מאוד להבנה מכיוון שיש לו א מתאר את עצמו טֶבַע. 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

ה GSON הספרייה ממלאת תפקיד חשוב בהמרת אובייקט Java ל-JSON. ספריית GSON לא רק ממירה אובייקט Java ל-JSON אלא גם משתמשת בו כדי להמיר את מחרוזת JSON לאובייקט Java המקביל לו.

אלו הם השלבים הבאים להמרת אובייקט Java ל-JSON:

  1. צור פרויקט של מייבן.
  2. הוסף תלות ב-GSON xml קוֹבֶץ.
  3. צור אובייקט Java ישן רגיל להמרה ל-JSON.
  4. צור מחלקת Java כדי להמיר את אובייקט Java ל-JSON.
המרת אובייקט Java ל-JSON

שלב 1: צור פרויקט של Maven

בשלב הראשון, עלינו ליצור פרויקט מייבן באמצעות eclipse IDE. המרת אובייקטי Java ל-JSON היא מושג מתקדם של Java, לכן אנו ממליצים לך להשתמש ב-IDE כמו eclipse כדי להבין בקלות את התוכניות.

המרת אובייקט Java ל-JSON

שלב 2: הוסף תלות GSON ב-pom.xml

בשלב הבא, עלינו להוסיף את התלות GSON הבאה בקובץ pom.xml כדי להשתמש בספריית GSON.

רכיבי רובוט
 com.google.code.gson gson 2.8.6 

לאחר הוספת התלות, קובץ pom.xml נראה כך:

המרת אובייקט Java ל-JSON

שלב 3: צור POJO כדי להמיר ל-JSON

בשלב הבא, עלינו ליצור א POJO , אותו אנו רוצים להמיר לאובייקט JSON. בדוגמה שלנו, אנו יוצרים טלפון נייד בכיתה עם getter ו-seters עבור מותג, שם, איל , ו רום .

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.

ConvertJSON.java

כיתת מחרוזת 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 ולהיפך. ה ObjectMapper class של Jackson API מספק שיטות להמרת אובייקט Java לפורמט או לאובייקט JSON. ה ObjectMapper מעמד writeValueAsString() המתודה לוקחת את אובייקט JSON כפרמטר ומחזירה את מחרוזת ה-JSON המתאימה לו.

אלו הם השלבים הבאים להמרת אובייקט Java לאובייקט JSON באמצעות Jackson API:

  1. צור פרויקט של מייבן
  2. הוסף תלות ג'קסון לקובץ pom.xml.
  3. צור אובייקט POJO.
  4. צור מחלקה חדשה להמרת אובייקט Java לאובייקט JSON.
המרת אובייקט Java ל-JSON

שלב 1: צור פרויקט של Maven

בשלב הראשון, עלינו ליצור פרויקט מייבן באמצעות eclipse IDE. בדיוק כמו GSON, גם Jackson API נתמך על ידי Eclipse.

המרת אובייקט Java ל-JSON

שלב 2: הוסף תלות ג'קסון ב-pom.xml

בשלב הבא, עלינו להוסיף את התלות הבאה של Jackson בקובץ pom.xml שלנו כדי להשתמש בספריית Jackson.

 com.fasterxml.jackson.core jackson-databind 2.12.1 

המרת אובייקט Java ל-JSON

שלב 3: צור POJO כדי להמיר ל-JSON

בשלב הבא, עלינו ליצור POJO, אותו אנו רוצים להמיר לאובייקט JSON. בדוגמה זו, אנו יוצרים מוצר מחלקה שיש בו getter ו-seters עבור המאפיינים כמו מזהה, שם, ו מחיר .

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

שתי השיטות משמשות בתרחישים שונים. שניהם פשוטים, מהירים וקלים לשימוש והבנה.

שינה ג'אווה