Gson - Classe

Gson é a classe de ator principal da biblioteca Gson do Google. Ele fornece funcionalidades para converter objetos Java em construções JSON correspondentes e vice-versa. Gson é construído primeiro usando GsonBuilder e, em seguida, métodos toJson (Object) ou fromJson (String, Class) são usados ​​para ler / gravar construções JSON.

Declaração de Classe

A seguir está a declaração para com.google.gson.Gson classe -

public final class Gson 
   extends Object

Construtores

Sr. Não Construtor e descrição
1

Gson()

Constrói um objeto Gson com configuração padrão.

Métodos de aula

Sr. Não Método e Descrição
1

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

Este método desserializa a leitura Json da árvore de análise especificada em um objeto do tipo especificado.

2

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

Este método desserializa a leitura Json da árvore de análise especificada em um objeto do tipo especificado.

3

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

Lê o próximo valor JSON do leitor e o converte em um objeto do tipo typeOfT.

4

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

Este método desserializa a leitura Json do leitor especificado em um objeto da classe especificada.

5

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

Este método desserializa o Json lido do leitor especificado em um objeto do tipo especificado.

6

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

Este método desserializa o Json especificado em um objeto da classe especificada.

7

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

Este método desserializa o Json especificado em um objeto do tipo especificado.

8

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

Retorna o adaptador de tipo para tipo.

9

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

Retorna o adaptador de tipo para tipo.

10

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

Este método é usado para obter um adaptador de tipo alternativo para o tipo especificado.

11

String toJson(JsonElement jsonElement)

Converte uma árvore de JsonElements em sua representação JSON equivalente.

12

void toJson(JsonElement jsonElement, Appendable writer)

Grava o JSON equivalente para uma árvore de JsonElements.

13

void toJson(JsonElement jsonElement, JsonWriter writer)

Grava o JSON para jsonElement para o escritor.

14

String toJson(Object src)

Este método serializa o objeto especificado em sua representação Json equivalente.

15

void toJson(Object src, Appendable writer)

Este método serializa o objeto especificado em sua representação Json equivalente.

16

String toJson(Object src, Type typeOfSrc)

Este método serializa o objeto especificado, incluindo aqueles de tipos genéricos, em sua representação Json equivalente.

17

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

Este método serializa o objeto especificado, incluindo aqueles de tipos genéricos, em sua representação Json equivalente.

18

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

Grava a representação JSON de src do tipo typeOfSrc para o gravador.

19

JsonElement toJsonTree(Object src)

Este método serializa o objeto especificado em sua representação equivalente como uma árvore de JsonElements.

20

JsonElement toJsonTree(Object src, Type typeOfSrc)

Este método serializa o objeto especificado, incluindo aqueles de tipos genéricos, em sua representação equivalente como uma árvore de JsonElements.

21

String toString()

Métodos herdados

Esta classe herda métodos da seguinte classe -

  • java.lang.Object

Exemplo

Crie o seguinte programa Java usando qualquer editor de sua escolha e salve-o em, digamos, 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+ " ]"; 
   }  
}

Verifique o resultado

Compile as classes usando javac compilador da seguinte forma -

C:\GSON_WORKSPACE>javac GsonTester.java

Agora execute o GsonTester para ver o resultado -

C:\GSON_WORKSPACE>java GsonTester

Verifique a saída

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