Gson - Visão geral
Google Gson é uma biblioteca simples baseada em Java para serializar objetos Java para JSON e vice-versa. É uma biblioteca de código aberto desenvolvida pelo Google.
Os pontos a seguir destacam por que você deve usar esta biblioteca -
Standardized - Gson é uma biblioteca padronizada gerenciada pelo Google.
Efficient - É uma extensão confiável, rápida e eficiente da biblioteca padrão Java.
Optimized - A biblioteca é altamente otimizada.
Support Generics - Fornece amplo suporte para genéricos.
Supports complex inner classes - Suporta objetos complexos com hierarquias de herança profundas.
Características do Gson
Aqui está uma lista de alguns dos recursos mais importantes do Gson -
Easy to use - A API Gson fornece uma fachada de alto nível para simplificar os casos de uso comumente usados.
No need to create mapping - Gson API fornece mapeamento padrão para a maioria dos objetos a serem serializados.
Performance- Gson é bastante rápido e consome pouca memória. É adequado para sistemas ou gráficos de objetos grandes.
Clean JSON - Gson cria um resultado JSON limpo e compacto que é fácil de ler.
No Dependency - A biblioteca Gson não requer nenhuma outra biblioteca além do JDK.
Open Source- A biblioteca Gson é de código aberto; está disponível gratuitamente.
Três maneiras de processar JSON
Gson fornece três maneiras alternativas de processar JSON -
API de streaming
Ele lê e grava conteúdo JSON como eventos discretos. JsonReader e JsonWriter ler / escrever os dados como token, referido como JsonToken.
É a abordagem mais poderosa entre as três abordagens para processar JSON. Tem a menor sobrecarga e é bastante rápido em operações de leitura / gravação. É análogo ao analisador Stax para XML.
Modelo de Árvore
Ele prepara uma representação em árvore na memória do documento JSON. Ele constrói uma árvore de nós JsonObject. É uma abordagem flexível e análoga ao analisador DOM para XML.
Ligação de dados
Ele converte JSON de e para POJO (Plain Old Java Object) usando o acessador de propriedade. Gson lê / grava JSON usando adaptadores de tipo de dados. É análogo ao analisador JAXB para XML.