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

Cara untuk membuat contoh tersuai menggunakan Gson di Jawa?

WBOY
Lepaskan: 2023-09-05 11:57:06
ke hadapan
898 orang telah melayarinya

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)
Salin selepas log masuk

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;
   }
}
Salin selepas log masuk

Output

Course[ course1 = Core Java, course2 = Advanced Java, technology = Java ]
Salin selepas log masuk

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!

Label berkaitan:
sumber:tutorialspoint.com
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan