Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Java

จะแปลงวัตถุ Java เป็น JSON โดยใช้ไลบรารี GSON ได้อย่างไร


JSON หรือ JavaScript Object Notation เป็นมาตรฐานเปิดแบบข้อความที่มีน้ำหนักเบาซึ่งออกแบบมาสำหรับการแลกเปลี่ยนข้อมูลที่มนุษย์สามารถอ่านได้ โปรแกรมเมอร์รู้จักอนุสัญญาที่ใช้โดย JSON ซึ่งรวมถึง C, C++, Java, Python, Perl เป็นต้น

มีไลบรารี Java หลายไลบรารีที่พร้อมใช้งานสำหรับจัดการอ็อบเจ็กต์ JSON Google Gson เป็นไลบรารีที่ใช้ Java อย่างง่ายในการทำให้วัตถุ Java เป็นอนุกรมไปยัง JSON และในทางกลับกัน เป็นห้องสมุดโอเพ่นซอร์สที่พัฒนาโดย Google

การแปลงวัตถุ Java เป็น JSON

ห้องสมุด Gson ของ Google มีชั้นเรียนที่มีชื่อเดียวกัน (Gson) ซึ่งเป็นคลาสหลักของห้องสมุด

คลาสนี้มีเมธอดชื่อ toJson() วิธีการนี้มีหลายวิธี โดยหนึ่งในนั้นยอมรับอ็อบเจกต์ Java และแปลงเป็นอ็อบเจ็กต์ JSON แล้วส่งคืน

ดังนั้น ในการแปลงวัตถุ Java เป็นสตริง JSON โดยใช้ไลบรารี GSON -

  • เพิ่มการพึ่งพา maven ต่อไปนี้ใน pom.xml ของคุณ

<dependency>
   <groupId>com.google.code.gson</groupId>
   <artifactId>gson</artifactId>
   <version>2.8.5</version>
</dependency>
  • สร้างอ็อบเจ็กต์ javabean/POJO ด้วยตัวแปรไพรเวตและเมธอด setter/getter

  • สร้างคลาสอื่น (ตรวจสอบให้แน่ใจว่าคลาส POJO พร้อมใช้งานสำหรับสิ่งนี้)

  • ในนั้น ให้สร้างอ็อบเจ็กต์ของคลาส POJO ตั้งค่าที่ต้องการโดยใช้เมธอด setter

  • ยกตัวอย่างคลาส Gson

  • เรียกใช้เมธอด toJson() โดยส่งอ็อบเจ็กต์ POJO ที่สร้างขึ้นด้านบน

  • ดึงและพิมพ์ JSON ที่ได้รับ

ตัวอย่าง

import com.google.gson.Gson;
class Student {
   private int id;
   private String name;
   private int age;
   private long phone;
   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 getAge() {
      return age;
   }
   public void setAge(int age) {
      this.age = age;
   }
   public long getPhone() {
      return phone;
   }
   public void setPhone(long phone) {
      this.phone = phone;
   }
}
public class ObjectTOString {
   public static void main(String args[]) {
      Student std = new Student();
      std.setId(001);
      std.setName("Krishna");
      std.setAge(30);
      std.setPhone(9848022338L);
      //Creating the Gson object
      Gson gSon = new Gson();
      String jsonString = gSon.toJson(std);
      System.out.println(jsonString);
   }
}

ผลลัพธ์

{"id":1,"name":"Krishna","age":30,"phone":9848022338}