Gson - คลาส
Gson เป็นนักแสดงหลักของห้องสมุด Google Gson มีฟังก์ชันในการแปลงอ็อบเจ็กต์ Java เพื่อจับคู่โครงสร้าง JSON และในทางกลับกัน Gson ถูกสร้างขึ้นครั้งแรกโดยใช้ GsonBuilder จากนั้นจึงใช้วิธี toJson (Object) หรือ fromJson (String, Class) เพื่ออ่าน / เขียนโครงสร้าง JSON
การประกาศคลาส
ต่อไปนี้เป็นคำประกาศสำหรับ com.google.gson.Gson ชั้นเรียน -
public final class Gson
extends Object
ตัวสร้าง
ซีเนียร์ No | ตัวสร้างและคำอธิบาย |
---|---|
1 | Gson() สร้างวัตถุ Gson ด้วยการกำหนดค่าเริ่มต้น |
วิธีการเรียน
ซีเนียร์ No | วิธีการและคำอธิบาย |
---|---|
1 | <T> T fromJson(JsonElement json, Class<T> classOfT) เมธอดนี้ deserializes Json ที่อ่านจากแผนผังการแยกวิเคราะห์ที่ระบุลงในอ็อบเจ็กต์ประเภทที่ระบุ |
2 | <T> T fromJson(JsonElement json, Type typeOfT) เมธอดนี้ deserializes Json ที่อ่านจากแผนผังการแยกวิเคราะห์ที่ระบุลงในอ็อบเจ็กต์ประเภทที่ระบุ |
3 | <T> T fromJson(JsonReader reader, Type typeOfT) อ่านค่า JSON ถัดไปจากผู้อ่านและแปลงเป็นอ็อบเจ็กต์ประเภท typeOfT |
4 | <T> T fromJson(Reader json, Class<T> classOfT) วิธีนี้ยกเลิกการกำหนดค่า Json ที่อ่านจากเครื่องอ่านที่ระบุลงในอ็อบเจ็กต์ของคลาสที่ระบุ |
5 | <T> T fromJson(Reader json, Type typeOfT) วิธีนี้ยกเลิกการกำหนดค่า Json ที่อ่านจากเครื่องอ่านที่ระบุลงในอ็อบเจ็กต์ของชนิดที่ระบุ |
6 | <T> T fromJson(String json, Class<T> classOfT) เมธอดนี้ deserializes Json ที่ระบุลงในอ็อบเจ็กต์ของคลาสที่ระบุ |
7 | <T> T fromJson(String json, Type typeOfT) เมธอดนี้ deserialize Json ที่ระบุลงในอ็อบเจ็กต์ของชนิดที่ระบุ |
8 | <T> TypeAdapter<T> getAdapter(Class<T> type) ส่งคืนอะแด็ปเตอร์ชนิดสำหรับชนิด |
9 | <T> TypeAdapter<T> getAdapter(TypeToken<T> type) ส่งคืนอะแด็ปเตอร์ชนิดสำหรับชนิด |
10 | <T> TypeAdapter<T> getDelegateAdapter(TypeAdapterFactory skipPast, TypeToken<T> type) วิธีนี้ใช้เพื่อรับอะแด็ปเตอร์ชนิดสำรองสำหรับชนิดที่ระบุ |
11 | String toJson(JsonElement jsonElement) แปลงโครงสร้างของ JsonElements เป็นการแทนค่า JSON ที่เทียบเท่า |
12 | void toJson(JsonElement jsonElement, Appendable writer) เขียน JSON ที่เทียบเท่าสำหรับโครงสร้างของ JsonElements |
13 | void toJson(JsonElement jsonElement, JsonWriter writer) เขียน JSON สำหรับ jsonElement ให้กับนักเขียน |
14 | String toJson(Object src) วิธีนี้ทำให้วัตถุที่ระบุเป็นอนุกรมเป็นตัวแทน Json ที่เทียบเท่า |
15 | void toJson(Object src, Appendable writer) วิธีนี้ทำให้วัตถุที่ระบุเป็นอนุกรมเป็นตัวแทน Json ที่เทียบเท่า |
16 | String toJson(Object src, Type typeOfSrc) วิธีนี้ทำให้วัตถุที่ระบุเป็นอนุกรมรวมทั้งประเภททั่วไปเป็นตัวแทน Json ที่เทียบเท่า |
17 | void toJson(Object src, Type typeOfSrc, Appendable writer) วิธีนี้ทำให้วัตถุที่ระบุเป็นอนุกรมรวมทั้งประเภททั่วไปเป็นตัวแทน Json ที่เทียบเท่า |
18 | void toJson(Object src, Type typeOfSrc, JsonWriter writer) เขียนการแทนค่า JSON ของ src ประเภท typeOfSrc ไปยัง writer |
19 | JsonElement toJsonTree(Object src) วิธีนี้ทำให้วัตถุที่ระบุเป็นอนุกรมในการแทนค่าที่เทียบเท่ากันเป็นโครงสร้างของ JsonElements |
20 | JsonElement toJsonTree(Object src, Type typeOfSrc) วิธีนี้ทำให้วัตถุที่ระบุเป็นอนุกรมรวมถึงประเภททั่วไปในการแทนค่าเทียบเท่ากับโครงสร้างของ JsonElements |
21 | String toString() |
วิธีการสืบทอด
คลาสนี้สืบทอดวิธีการจากคลาสต่อไปนี้ -
- java.lang.Object
ตัวอย่าง
สร้างโปรแกรม Java ต่อไปนี้โดยใช้โปรแกรมแก้ไขที่คุณเลือกและบันทึกไว้ที่ C: /> GSON_WORKSPACE
File − GsonTester.java
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
public class GsonTester {
public static void main(String[] args) {
String jsonString = "{\"name\":\"Mahesh\", \"age\":21}";
GsonBuilder builder = new GsonBuilder();
builder.setPrettyPrinting();
Gson gson = builder.create();
Student student = gson.fromJson(jsonString, Student.class);
System.out.println(student);
jsonString = gson.toJson(student);
System.out.println(jsonString);
}
}
class Student {
private String name;
private int age;
public Student(){}
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 String toString() {
return "Student [ name: "+name+", age: "+ age+ " ]";
}
}
ตรวจสอบผลลัพธ์
รวบรวมคลาสโดยใช้ javac คอมไพเลอร์ดังนี้ -
C:\GSON_WORKSPACE>javac GsonTester.java
ตอนนี้เรียกใช้ GsonTester เพื่อดูผลลัพธ์ -
C:\GSON_WORKSPACE>java GsonTester
ตรวจสอบผลลัพธ์
Student [ name: Mahesh, age: 21 ]
{
"name" : "Mahesh",
"age" : 21
}