Rumah  >  Artikel  >  Java  >  Cara untuk membuat contoh tersuai menggunakan Gson di Jawa?

Cara untuk membuat contoh tersuai menggunakan Gson di Jawa?

WBOY
WBOYke hadapan
2023-09-05 11:57:06806semak imbas

Cara untuk membuat contoh tersuai menggunakan Gson di Jawa?

Apabila menghuraikan rentetan JSON ke atau dari objek Java, secara lalai Gson cuba mencipta tika kelas Java dengan memanggil pembina lalai. Jika kelas Java tidak mengandungi pembina lalai atau kami ingin melakukan beberapa konfigurasi awal semasa mencipta objek Java, kami perlu mencipta dan mendaftarkan pencipta contoh kami sendiri.

Kami boleh mencipta pencipta instance tersuai dalam Gson menggunakan InstanceCreatorantara muka dan perlu melaksanakan kaedah createInstance(Type type).

Sintaks

T createInstance(Type type)

Contoh

import java.lang.reflect.Type;
import com.google.gson.*;
public class CustomInstanceCreatorTest {
   public static void main(String args[]) {
      GsonBuilder gsonBuilder = new GsonBuilder();
      gsonBuilder.registerTypeAdapter(Course.class, new CourseCreator());
      Gson gson = gsonBuilder.create();
      String jsonString = "{'course1':'Core Java', 'course2':'Advanced Java'}";
      Course course = gson.fromJson(jsonString, Course.class);
      System.out.println(course);
   }
}
// Course class
class Course {
   private String course1;
   private String course2;
   private String technology;
   public Course(String technology) {
      this.technology = technology;
   }
   public void setCourse1(String course1) {
      this.course1 = course1;
   }
   public void setCourse2(String course2) {
      this.course2 = course2;
   }
   public String getCourse1() {
      return course1;
   }
   public String getCourse2() {
      return course1;
   }
   public void setTechnology(String technology) {
      this.technology = technology;
   }
   public String getTechnology() {
      return technology;
   }
   public String toString() {
      return "Course[ " +
             "course1 = " + course1 +
             ", course2 = " + course2 +
             ", technology = " + technology +
             " ]";
   }
}
// CourseCreator class
class CourseCreator implements InstanceCreator {
   @Override
   public Course createInstance(Type type) {
      Course course = new Course("Java");
      return course;
   }
}

Output

Course[ course1 = Core Java, course2 = Advanced Java, technology = Java ]

Atas ialah kandungan terperinci Cara untuk membuat contoh tersuai menggunakan Gson di Jawa?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:tutorialspoint.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam