Gson - klasa

Gson to główna klasa aktorów w bibliotece Google Gson. Zapewnia funkcje umożliwiające konwersję obiektów Java do zgodnych konstrukcji JSON i odwrotnie. Gson jest najpierw konstruowany przy użyciu GsonBuilder, a następnie metody toJson (Object) lub fromJson (String, Class) są używane do odczytu / zapisu konstrukcji JSON.

Deklaracja klasy

Poniżej znajduje się deklaracja dla com.google.gson.Gson klasa -

public final class Gson 
   extends Object

Konstruktorzy

Sr.No Konstruktor i opis
1

Gson()

Konstruuje obiekt Gson z domyślną konfiguracją.

Metody klasowe

Sr.No Metoda i opis
1

<T> T fromJson(JsonElement json, Class<T> classOfT)

Ta metoda deserializuje Json odczytaną z określonego drzewa analizy do obiektu określonego typu.

2

<T> T fromJson(JsonElement json, Type typeOfT)

Ta metoda deserializuje Json odczytaną z określonego drzewa analizy do obiektu określonego typu.

3

<T> T fromJson(JsonReader reader, Type typeOfT)

Odczytuje następną wartość JSON z czytnika i konwertuje ją na obiekt typu typeOfT.

4

<T> T fromJson(Reader json, Class<T> classOfT)

Ta metoda deserializuje Json odczytaną z określonego czytnika do obiektu określonej klasy.

5

<T> T fromJson(Reader json, Type typeOfT)

Ta metoda deserializuje Json odczytaną z określonego czytnika do obiektu określonego typu.

6

<T> T fromJson(String json, Class<T> classOfT)

Ta metoda deserializuje określony Json do obiektu określonej klasy.

7

<T> T fromJson(String json, Type typeOfT)

Ta metoda deserializuje określony plik Json do obiektu określonego typu.

8

<T> TypeAdapter<T> getAdapter(Class<T> type)

Zwraca adapter typu dla typu.

9

<T> TypeAdapter<T> getAdapter(TypeToken<T> type)

Zwraca adapter typu dla typu.

10

<T> TypeAdapter<T> getDelegateAdapter(TypeAdapterFactory skipPast, TypeToken<T> type)

Ta metoda służy do pobierania adaptera alternatywnego typu dla określonego typu.

11

String toJson(JsonElement jsonElement)

Konwertuje drzewo JsonElements na jego równoważną reprezentację JSON.

12

void toJson(JsonElement jsonElement, Appendable writer)

Zapisuje równoważny kod JSON dla drzewa JsonElements.

13

void toJson(JsonElement jsonElement, JsonWriter writer)

Zapisuje JSON dla jsonElement do programu Writer.

14

String toJson(Object src)

Ta metoda serializuje określony obiekt do jego równoważnej reprezentacji Json.

15

void toJson(Object src, Appendable writer)

Ta metoda serializuje określony obiekt do jego równoważnej reprezentacji Json.

16

String toJson(Object src, Type typeOfSrc)

Ta metoda serializuje określony obiekt, w tym typy typów ogólnych, do jego równoważnej reprezentacji Json.

17

void toJson(Object src, Type typeOfSrc, Appendable writer)

Ta metoda serializuje określony obiekt, w tym typy typów ogólnych, do jego równoważnej reprezentacji Json.

18

void toJson(Object src, Type typeOfSrc, JsonWriter writer)

Zapisuje reprezentację JSON src typu typeOfSrc do programu Writer.

19

JsonElement toJsonTree(Object src)

Ta metoda serializuje określony obiekt do jego równoważnej reprezentacji jako drzewo JsonElements.

20

JsonElement toJsonTree(Object src, Type typeOfSrc)

Ta metoda serializuje określony obiekt, w tym typy typów ogólnych, do jego równoważnej reprezentacji jako drzewo JsonElements.

21

String toString()

Dziedziczone metody

Ta klasa dziedziczy metody z następującej klasy -

  • java.lang.Object

Przykład

Utwórz następujący program Java za pomocą dowolnego wybranego edytora i zapisz go w, powiedzmy, 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+ " ]"; 
   }  
}

Sprawdź wynik

Skompiluj klasy przy użyciu javac kompilator w następujący sposób -

C:\GSON_WORKSPACE>javac GsonTester.java

Teraz uruchom GsonTester, aby zobaczyć wynik -

C:\GSON_WORKSPACE>java GsonTester

Sprawdź dane wyjściowe

Student [ name: Mahesh, age: 21 ] 
{ 
   "name" : "Mahesh", 
   "age" : 21 
}