Gson x Json

369 views
Skip to first unread message

Marcelo Henrique

unread,
Feb 23, 2012, 7:56:39 AM2/23/12
to androidb...@googlegroups.com

 Pessoal Bom dia . 
      eu posso estar enganado, mas existe  diferença entre eles  Gson x Json ? uma vez que classes Json ja vem no  android.e as Gson tem q importar .jar 
--
                                              - Marcelo Henrique -
  "Se não puder se destacar pelo talento, vença pelo esforço." (Dave Weinbaum)

Neto Lima

unread,
Feb 23, 2012, 7:59:55 AM2/23/12
to androidb...@googlegroups.com
Você tá confundindo as coisas amigo dê uma olhadinha nesse link aqui http://code.google.com/p/google-gson/

2012/2/23 Marcelo Henrique <marce...@gmail.com>



--
----------------------------------
|        TURN THE             | Se acha esperto? então encare
|---------------------------------| esse desafio http://bit.ly/pugpad
|        LIGHTS ON            |
----------------------------------

@netolobo

luciofm

unread,
Feb 23, 2012, 7:59:59 AM2/23/12
to androidb...@googlegroups.com
Gson is a Java library that can be used to convert Java Objects into their JSON representation. It can also be used to convert a JSON string to an equivalent Java object. Gson can work with arbitrary Java objects including pre-existing objects that you do not have source-code of.

Lúcio Maciel
luc...@gmail.com


2012/2/23 Marcelo Henrique <marce...@gmail.com>

Marcelo Henrique

unread,
Feb 23, 2012, 8:06:57 AM2/23/12
to androidb...@googlegroups.com
Mais somente o pacote json nativo nao faz isso nao ?

2012/2/23 luciofm <luc...@gmail.com>

Marcelo Alves

unread,
Feb 23, 2012, 8:10:47 AM2/23/12
to androidb...@googlegroups.com
Ele não faz essa parte de Reflection, convertendo pra vc JSON em Objeto. Você tem que fazer isso na mão, caso use o JSON nativo

2012/2/23 Marcelo Henrique <marce...@gmail.com>

Toshi Kurauchi

unread,
Feb 23, 2012, 8:19:45 AM2/23/12
to androidb...@googlegroups.com
JSON é um formato, Gson é uma biblioteca que lê esse formato...

No Android tem as classes JSONObject, JSONArray e JSONStringer que você pode usar pra parsear ou gerar strings de JSON.
O Gson facilita esse trabalho. Por exemplo: 

Você tem o JSON: {"nome":"Marcelo", "email":"a...@gmail.com"}
Então você pode ter uma classe que representa esse JSON:

class Pessoa {
    private String nome;
    private String email;
}

Então o Gson já cria e popula os atributos pra você assim:

Pessoa pessoaComDados = gson.fromJson(stringJson, Pessoa.class);

Para fazer o mesmo com o JSONObject por exemplo você teria algo como:

JSONObject jsonObj = new JSONObject(stringJson);
Pessoa pessoa = new Pessoa();
pessoa.setNome(jsonObj.getString("nome");
pessoa.setEmail(jsonObj.getString("email");

Ou seja, ele só poupa um trabalho nosso :)

Toshi Kurauchi


2012/2/23 Marcelo Alves <malve...@gmail.com>

Marcelo Henrique

unread,
Feb 23, 2012, 8:34:08 AM2/23/12
to androidb...@googlegroups.com
Muito Obrigado a todos. duvida esclarecida !

Diego Ampessan

unread,
Feb 23, 2012, 10:57:52 AM2/23/12
to androidb...@googlegroups.com
Apenas uma sugestão, este site é otimo para validar a string do JSON :)


--
Att.
Diego Ampessan
Microsoft MTA

www.diegoampessan.com.br


Os computadores são incrivelmente rápidos, precisos e burros; Os homens são incrivelmente lentos, imprecisos e brilhantes; Juntos, seu poder ultrapassa os limites da imaginação  - "Albert Einstein "

Felipe Aron

unread,
Feb 23, 2012, 11:01:36 AM2/23/12
to androidb...@googlegroups.com
Bacana Diego! Não conhecia. :)

To usando o JSON Viewer, é muito bom pra visualizar os dados:

--
Analista-Programador

Diego Ampessan

unread,
Feb 23, 2012, 1:43:12 PM2/23/12
to androidb...@googlegroups.com
Legal Felipe ....

Felipe Aron

unread,
Feb 23, 2012, 1:45:17 PM2/23/12
to androidb...@googlegroups.com
Bacana!! 

Eu to usando direto aqui, pois estou num projeto Android, o qual consome um webservice feito em .NET retornando JSON. hehehe

Diego Ampessan

unread,
Feb 23, 2012, 2:48:21 PM2/23/12
to androidb...@googlegroups.com
Shooow !!! 

Na parte .NET ... ta usando WCF Rest ? ou ASMX mesmo ??

Felipe Aron

unread,
Feb 24, 2012, 4:47:54 AM2/24/12
to androidb...@googlegroups.com
Asmx. Webserivce normal. Utilizei o JavaScriptSerializer para transformar meus objetos em JSON. :)

Diego Ampessan

unread,
Feb 24, 2012, 10:31:46 AM2/24/12
to androidb...@googlegroups.com
Legal ! aconselho vc dar uma lida no WCF Rest ... muito mais fácil e tranquilo de se trabalhar do que o asmx :)

Bruno Baudel

unread,
Feb 24, 2012, 11:03:27 AM2/24/12
to androidb...@googlegroups.com
Diego você poderia mostrar um exemplo do WCF Rest? Pq eu também utilizo asmx 
mas gostaria muito de utilizar o Rest. 


Bruno Baudel

Felipe Aron

unread,
Feb 24, 2012, 11:12:57 AM2/24/12
to androidb...@googlegroups.com
Seria interessante Diego, se tiver algum exemplo WCF Rest, pra gente entender melhor... :)

Diego Ampessan

unread,
Feb 24, 2012, 1:08:52 PM2/24/12
to androidb...@googlegroups.com
Opa ! prometo que vou providenciar e postar para a galera =)

Bruno Baudel

unread,
Feb 24, 2012, 1:34:39 PM2/24/12
to androidb...@googlegroups.com
Valeu Diego 
=)

Bruno Baudel

Marcelo H

unread,
Feb 26, 2012, 6:25:09 AM2/26/12
to Android Brasil - Dev
Pessoal nao sei se algun de voces usam mas tem um plugin pra Firefox
pra visualizar JSON tambem

http://jsonview.com/

http://jsonview.com/example.json

On 24 fev, 15:34, Bruno Baudel <brunobau...@gmail.com> wrote:
> Valeu Diego
> =)
>
> *Bruno Baudel*
>
> Em 24 de fevereiro de 2012 15:08, Diego Ampessan <ampess...@gmail.com>escreveu:
>
>
>
>
>
>
>
> > Opa ! prometo que vou providenciar e postar para a galera =)
>
> > Em 24 de fevereiro de 2012 14:12, Felipe Aron <felipea...@gmail.com>escreveu:
>
> > Seria interessante Diego, se tiver algum exemplo WCF Rest, pra gente
> >> entender melhor... :)
>
> >> Em 24 de fevereiro de 2012 14:03, Bruno Baudel <brunobau...@gmail.com>escreveu:
>
> >> Diego você poderia mostrar um exemplo do WCF Rest? Pq eu também utilizo
> >>> asmx
> >>> mas gostaria muito de utilizar o Rest.
>
> >>> *Bruno Baudel*
>
> >>> Em 24 de fevereiro de 2012 12:31, Diego Ampessan <ampess...@gmail.com>escreveu:
>
> >>> Legal ! aconselho vc dar uma lida no WCF Rest ... muito mais fácil e
> >>>> tranquilo de se trabalhar do que o asmx :)
>
> >>>> Em 24 de fevereiro de 2012 07:47, Felipe Aron <felipea...@gmail.com>escreveu:
>
> >>>> Asmx. Webserivce normal. Utilizei o JavaScriptSerializer para
> >>>>> transformar meus objetos em JSON. :)
>
> >>>>> Em 23 de fevereiro de 2012 17:48, Diego Ampessan <ampess...@gmail.com>escreveu:
>
> >>>>> Shooow !!!
>
> >>>>>> Na parte .NET ... ta usando WCF Rest ? ou ASMX mesmo ??
>
> >>>>>> Em 23 de fevereiro de 2012 16:45, Felipe Aron <felipea...@gmail.com>escreveu:
>
> >>>>>> Bacana!!
>
> >>>>>>> Eu to usando direto aqui, pois estou num projeto Android, o qual
> >>>>>>> consome um webservice feito em .NET retornando JSON. hehehe
>
> >>>>>>> Em 23 de fevereiro de 2012 16:43, Diego Ampessan <
> >>>>>>> ampess...@gmail.com> escreveu:
>
> >>>>>>> Legal Felipe ....
>
> >>>>>>>> Tem um no mesmo esquema online :)
> >>>>>>>>http://www.thomasfrank.se/downloadableJS/JSONeditor_example.html
>
> >>>>>>>> Em 23 de fevereiro de 2012 14:01, Felipe Aron <felipea...@gmail.com
> >>>>>>>> > escreveu:
>
> >>>>>>>> Bacana Diego! Não conhecia. :)
>
> >>>>>>>>> To usando o JSON Viewer, é muito bom pra visualizar os dados:
>
> >>>>>>>>>http://jsonviewer.codeplex.com/
>
> >>>>>>>>> Em 23 de fevereiro de 2012 13:57, Diego Ampessan <
> >>>>>>>>> ampess...@gmail.com> escreveu:
>
> >>>>>>>>>  Apenas uma sugestão, este site é otimo para validar a string do
> >>>>>>>>>> JSON :)
>
> >>>>>>>>>>http://jsonlint.com/
>
> >>>>>>>>>> Em 23 de fevereiro de 2012 11:34, Marcelo Henrique <
> >>>>>>>>>> marceloh...@gmail.com> escreveu:
>
> >>>>>>>>>> Muito Obrigado a todos. duvida esclarecida !
>
> >>>>>>>>>>> Em 23 de fevereiro de 2012 11:19, Toshi Kurauchi <
> >>>>>>>>>>> andrew.kurau...@gmail.com> escreveu:
>
> >>>>>>>>>>> JSON é um formato, Gson é uma biblioteca que lê esse formato...
>
> >>>>>>>>>>>> No Android tem as classes JSONObject, JSONArray e JSONStringer
> >>>>>>>>>>>> que você pode usar pra parsear ou gerar strings de JSON.
> >>>>>>>>>>>> O Gson facilita esse trabalho. Por exemplo:
>
> >>>>>>>>>>>> Você tem o JSON: {"nome":"Marcelo", "email":"a...@gmail.com"}
> >>>>>>>>>>>> Então você pode ter uma classe que representa esse JSON:
>
> >>>>>>>>>>>> class Pessoa {
> >>>>>>>>>>>>     private String nome;
> >>>>>>>>>>>>     private String email;
> >>>>>>>>>>>> }
>
> >>>>>>>>>>>> Então o Gson já cria e popula os atributos pra você assim:
>
> >>>>>>>>>>>> Pessoa pessoaComDados = gson.fromJson(stringJson, Pessoa.class);
>
> >>>>>>>>>>>> Para fazer o mesmo com o JSONObject por exemplo você teria algo
> >>>>>>>>>>>> como:
>
> >>>>>>>>>>>> JSONObject jsonObj = new JSONObject(stringJson);
> >>>>>>>>>>>> Pessoa pessoa = new Pessoa();
> >>>>>>>>>>>> pessoa.setNome(jsonObj.getString("nome");
> >>>>>>>>>>>> pessoa.setEmail(jsonObj.getString("email");
>
> >>>>>>>>>>>> Ou seja, ele só poupa um trabalho nosso :)
>
> >>>>>>>>>>>> Toshi Kurauchi
>
> >>>>>>>>>>>> 2012/2/23 Marcelo Alves <malves.i...@gmail.com>
>
> >>>>>>>>>>>>> Ele não faz essa parte de Reflection, convertendo pra vc JSON
> >>>>>>>>>>>>> em Objeto. Você tem que fazer isso na mão, caso use o JSON nativo
>
> >>>>>>>>>>>>> 2012/2/23 Marcelo Henrique <marceloh...@gmail.com>
>
> >>>>>>>>>>>>>> Mais somente o pacote json nativo nao faz isso nao ?
>
> >>>>>>>>>>>>>> 2012/2/23 luciofm <luci...@gmail.com>
>
> >>>>>>>>>>>>>>> Gson is a Java library that can be used to convert Java
> >>>>>>>>>>>>>>> Objects into their JSON representation. It can also be used to convert a
> >>>>>>>>>>>>>>> JSON string to an equivalent Java object. Gson can work with arbitrary Java
> >>>>>>>>>>>>>>> objects including pre-existing objects that you do not have source-code of.
>
> >>>>>>>>>>>>>>> Lúcio Maciel
> >>>>>>>>>>>>>>> luci...@gmail.com
>
> >>>>>>>>>>>>>>> 2012/2/23 Marcelo Henrique <marceloh...@gmail.com>
> >>>>>>>>> #FollowMe: @felipearon <http://twitter.com/felipearon> (
> >>>>>>>>>http://felipearon.net)
>
> >>>>>>>> --
> >>>>>>>> Att.
> >>>>>>>> Diego Ampessan
> >>>>>>>> Microsoft MTA
>
> >>>>>>>>www.diegoampessan.com.br
>
> >>>>>>>> Os computadores são incrivelmente rápidos, precisos e burros; Os
> >>>>>>>> homens são incrivelmente lentos, imprecisos e brilhantes; Juntos, seu poder
> >>>>>>>> ultrapassa os limites da imaginação  - "Albert Einstein "
>
> >>>>>>> --
> >>>>>>> Analista-Programador
> >>>>>>> #FollowMe: @felipearon <http://twitter.com/felipearon> (
> >>>>>>>http://felipearon.net)
>
> >>>>>> --
> >>>>>> Att.
> >>>>>> Diego Ampessan
> >>>>>> Microsoft MTA
>
> >>>>>>www.diegoampessan.com.br
>
> >>>>>> Os computadores são incrivelmente rápidos, precisos e burros; Os
> >>>>>> homens são incrivelmente lentos, imprecisos e brilhantes; Juntos, seu poder
> >>>>>> ultrapassa os limites da imaginação  - "Albert Einstein "
>
> >>>>> --
> >>>>> Analista-Programador
> >>>>> #FollowMe: @felipearon <http://twitter.com/felipearon> (
> >>>>>http://felipearon.net)
>
> >>>> --
> >>>> Att.
> >>>> Diego Ampessan
> >>>> Microsoft MTA
>
> >>>>www.diegoampessan.com.br
>
> >>>> Os computadores são incrivelmente rápidos, precisos e burros; Os homens
> >>>> são incrivelmente lentos, imprecisos e brilhantes; Juntos, seu poder
> >>>> ultrapassa os limites da imaginação  - "Albert Einstein "
>
> >> --
> >> Analista-Programador
> >> #FollowMe: @felipearon <http://twitter.com/felipearon> (

Neto Marin

unread,
Feb 29, 2012, 8:02:43 AM2/29/12
to androidb...@googlegroups.com
Opa, bom dia!

Se alguém ainda se interessar pelo tema, fiz um post no blog da globalcode sobre o Gson, mostrando basicamente qual a vantagem em utilizá-lo e um exemplo de um objeto simples.


[]s
Neto
---
Neto Marin

Blog: http://blog.netomarin.com
GTalk: neto...@gmail.com
MSN: neto_...@hotmail.com
Skype: netomarin

Felipe Aron

unread,
Feb 29, 2012, 8:08:59 AM2/29/12
to androidb...@googlegroups.com
Galera, recomendo o artigo do Neto !! Ficou excelente... já me esclareceu muitas coisas. :)

Valeu Neto pelo Help.

Marcelo Henrique

unread,
Feb 29, 2012, 8:25:43 AM2/29/12
to androidb...@googlegroups.com

Neto vai ser d grande ajuda mto obrigado 

Em 29 de fevereiro de 2012 10:02, Neto Marin <neto...@gmail.com> escreveu:

Vandré Israel Brunazo

unread,
Mar 1, 2012, 1:43:26 PM3/1/12
to Android Brasil - Dev
Eu conheci o que é GSON por causa desse thread. Comparado com as
bibliotecas de ler JSON que vem com o Android, que eu tenho usado, o
GSON parece muito melhor. Então fui pesquisar e descobri muita gente
recomendando usar outra biblioteca, chamada JackSON no lugar do GSON.
Como nesse post do stack overflow:

http://stackoverflow.com/questions/2378402/jackson-vs-gson

Mas esse post é um tanto antigo, talvez GSON tenha alcançado o JackSON
em features e velocidade. Então tem alguém aqui com experiência em
ambas ou mais bibliotecas e poderia me dizer quais são suas impressões
de cada uma? JackSON realmente é tão bom assim?

On Feb 23, 9:59 am, Neto Lima <desi...@gmail.com> wrote:
> Você tá confundindo as coisas amigo dê uma olhadinha nesse link aquihttp://code.google.com/p/google-gson/
>
> 2012/2/23 Marcelo Henrique <marceloh...@gmail.com>
>
>
>
> >  Pessoal Bom dia .
> >       eu posso estar enganado, mas existe  diferença entre eles  Gson x
> > Json ? uma vez que classes Json ja vem no  android.e as Gson tem q importar
> > .jar
> > --
> >                                               - Marcelo Henrique -
> >   "Se não puder se destacar pelo talento, vença pelo esforço." (Dave
> > Weinbaum)
>
> --
> ----------------------------------
> |        TURN THE             | Se acha esperto? então encare
> |---------------------------------| esse desafiohttp://bit.ly/pugpad
> |        LIGHTS ON            |
> ----------------------------------
>
> @netolobo

Márcio Oliveira

unread,
Mar 1, 2012, 1:54:50 PM3/1/12
to androidb...@googlegroups.com
Hoje tem se falado muito em proto buff, alguem ja usou? Ontem li um
artigo comparando a performance de XML, JSON e proto buff, onde em
performance o protobuf ganha, mas pode ter incompabilidade por ser
binario, etc. Se eu achar o mesmo novamente posto aqui. Ah, e claro
que a outra conclusao que JSON era melhor que XML!!

Em 1 de março de 2012 15:43, Vandré Israel Brunazo
<vibr...@gmail.com> escreveu:

Márcio Oliveira

unread,
Mar 1, 2012, 2:17:27 PM3/1/12
to androidb...@googlegroups.com
Why not just use XML?
Protocol buffers have many advantages over XML for serializing
structured data. Protocol buffers:
are simpler
are 3 to 10 times smaller
are 20 to 100 times faster
are less ambiguous
generate data access classes that are easier to use programmatically

http://code.google.com/intl/pt-BR/apis/protocolbuffers/docs/overview.html

http://blog.juma.me.uk/2009/03/25/json-serializationdeserialization-faster-than-protocol-buffers/
http://www.freshblurbs.com/google-protocol-buffers-good-bad-and-ugly

Marcelo Henrique

unread,
Mar 1, 2012, 2:28:45 PM3/1/12
to androidb...@googlegroups.com
Interessante questionamento. 

luciofm

unread,
Mar 1, 2012, 2:35:56 PM3/1/12
to androidb...@googlegroups.com
Porque protocol buffers são binarios, muito mais dificeis de debugar do que uma linguagem 'humana'.

A não ser que o tempo de processamento do JSON/XML esteja realmente sendo seu bottleneck, não vejo porque mudar para um protocolo binário.

E digo isso de quem tem experiencia de trabalhar durante muitos anos com protocolos binarios de rede, e que são muito mais dificeis de encontrar algum problema de codificação ou nos dados, do que simplesmente ler o que está passando na rede.

Lúcio Maciel
luc...@gmail.com


2012/3/1 Marcelo Henrique <marce...@gmail.com>

Neto Marin

unread,
Mar 1, 2012, 2:37:45 PM3/1/12
to androidb...@googlegroups.com
Simples assim... =)

E para o processamento JSON ser o seu gargalo, vc deve estar fazendo alguma coisa errada ou é um sistema muito específico.

[]s
Neto
---
Neto Marin

Blog: http://blog.netomarin.com
GTalk: neto...@gmail.com
MSN: neto_...@hotmail.com
Skype: netomarin


Marcelo Henrique

unread,
Mar 1, 2012, 2:41:28 PM3/1/12
to androidb...@googlegroups.com
Rapaz esse Lucio e fera mesmo !! 

Vandré Israel Brunazo

unread,
Mar 1, 2012, 5:25:19 PM3/1/12
to Android Brasil - Dev
E é fácil transformar objectos java já existentes nesse proto buffer,
como é feito com gson e jackson. Em apenas uma linha?

On Mar 1, 4:17 pm, Márcio Oliveira <prof....@gmail.com> wrote:
> Why not just use XML?
> Protocol buffers have many advantages over XML for serializing
> structured data. Protocol buffers:
> are simpler
> are 3 to 10 times smaller
> are 20 to 100 times faster
> are less ambiguous
> generate data access classes that are easier to use programmatically
>
> http://code.google.com/intl/pt-BR/apis/protocolbuffers/docs/overview....
>
> http://blog.juma.me.uk/2009/03/25/json-serializationdeserialization-f...http://www.freshblurbs.com/google-protocol-buffers-good-bad-and-ugly
>
> Em 1 de março de 2012 15:54, Márcio Oliveira <prof....@gmail.com> escreveu:
>
>
>
>
>
>
>
> > Hoje tem se falado muito em proto buff, alguem ja usou? Ontem li um
> > artigo comparando a performance de XML, JSON e proto buff, onde em
> > performance o protobuf ganha, mas pode ter incompabilidade por ser
> > binario, etc. Se eu achar o mesmo novamente posto aqui. Ah, e claro
> > que a outra conclusao que JSON era melhor que XML!!
>
> > Em 1 de março de 2012 15:43, Vandré Israel Brunazo
> > <vibrun...@gmail.com> escreveu:

Márcio Oliveira

unread,
Mar 1, 2012, 5:57:56 PM3/1/12
to androidb...@googlegroups.com
Vejam bem, não estou aqui defendendo o proto buff e dizendo que é
melhor ou pior, só estou divulgando uma nova tecnologia que pouca
gente conhece e não vi ninguém falando aqui na lista, e os
projetistas/desenvolvedores é quem devem saber quais são seus
requisitos, se a performance, menor transmissão de dados, e facilidade
de parsear os dados, ou se nada disso importa. Eu apenas perguntei se
alguém já havia usado para nos dar uma visão melhor do que a visão de
marketing do Google.

At.

Márcio Oliveira

Em 1 de março de 2012 16:37, Neto Marin <neto...@gmail.com> escreveu:

Reply all
Reply to author
Forward
0 new messages