Arquivo da categoria: JSON

Como obter e tratar um retorno em JSON com o Wrapper .Net

Fonte: Buscapé Developer/IMasters

Veremos, neste artigo, uma das formas que temos de tratar os dados de um retorno em JSON utilizando o wrapper .Net.

Para começar, faça o download do Wrapper .Net direto do nosso perfil no GitHub e inclua seus arquivos em seu projeto para utilizar a classe Apiki_Buscape_API.

Com os arquivos do Wrapper .Net devidamente inseridos no projeto, vamos instanciar um objeto da classe, que servirá como nosso objeto de negócio principal. Como já estamos acostumados, devemos informar ao construtor da classe o nosso ApplicationId, para identificar a aplicação na requisição ao Buscapé. Pórem, neste exemplo também devemos sobreescrever o formato padrão de retorno dos dados para o JSON. Portanto, temos que informar valores default para os outros parâmetros do construtor da classe e informar o formato como JSON.

Apiki_Buscape_API.Apiki_Buscape_API apiBuscape = new Apiki_Buscape_API.Apiki_Buscape_API("564771466d477a4458664d3d", string.Empty, "BR", "json");

Para este artigo, vamos utilizar o método FindCategoryList, porque ele tem uma estrutura de retorno menos complexa. Consulte a documentação desse serviço na API do Buscapé, se desejar mais informações sobre os campos de resposta.

Vamos, então, invocar o método FindCategoryList com a palavra-chave LG e salvar o seu retorno em uma string.

string categoryList = apiBuscape.FindCategoryList(null, "LG", string.Empty);
Response.Write(categoryList);

Exibindo a resposta na tela, podemos ver o objeto JSON que foi retornado pelo método:

{"details":{"message":"success","elapsedtime":31,"status":"success","code":0,"applicationversion":"1.0.0.0","date":{"minute":2,"valid":true,"timezone":-120,"second":30,"millisecond":770,"month":2,"year":2012,"hour":10,"day":13,"xmlschematype":{"namespaceuri":"http://www.w3.org/2001/XMLSchema","prefix":"","localpart":"dateTime"},"eonandyear":{"lowestsetbit":2}},"applicationpath":"http://bws-apps.buscape.com/mobile/update","applicationid":"564771466d477a4458664d3d"},"schk":true,"subcategory":[{"subcategory":{"id":2852,"thumbnail":{"url":"http://imagem.buscape.com.br/bp5/categorias/2852.jpg"},"hasoffer":false,"name":"TV","parentcategoryid":1,"links":[{"link":{"type":"category","url":"http://compare.buscape.com.br/tv.html?mdapp=100&mddtn=69672797"}},{"link":{"type":"xml","url":"http://sandbox.buscape.com/service/findProductList/564771466d477a4458664d3d/br/?categoryId=2852&keyword=lg&format=json"}}],"isfinal":true}},{"subcategory":{"id":77,"thumbnail":{"url":"http://imagem.buscape.com.br/bp5/categorias/77.jpg"},"hasoffer":false,"name":"Celular e Smartphone","parentcategoryid":6420,"links":[{"link":{"type":"category","url":"http://compare.buscape.com.br/celular-e-smartphone.html?mdapp=100&mddtn=69672797"}},{"link":{"type":"xml","url":"http://sandbox.buscape.com/service/findProductList/564771466d477a4458664d3d/br/?categoryId=77&keyword=lg&format=json"}}],"isfinal":true}},{"subcategory":{"id":3661,"thumbnail":{"url":"http://imagem.buscape.com.br/bp5/categorias/3661.jpg"},"hasoffer":false,"name":"Ar Condicionado","parentcategoryid":116,"links":[{"link":{"type":"category","url":"http://compare.buscape.com.br/ar-condicionado.html?mdapp=100&mddtn=69672797"}},{"link":{"type":"xml","url":"http://sandbox.buscape.com/service/findProductList/564771466d477a4458664d3d/br/?categoryId=3661&keyword=lg&format=json"}}],"isfinal":true}},{"subcategory":{"id":6424,"thumbnail":{"url":"http://imagem.buscape.com.br/bp5/categorias/6424.jpg"},"hasoffer":false,"name":"Notebook","parentcategoryid":2,"links":[{"link":{"type":"category","url":"http://compare.buscape.com.br/notebook.html?mdapp=100&mddtn=69672797"}},{"link":{"type":"xml","url":"http://sandbox.buscape.com/service/findProductList/564771466d477a4458664d3d/br/?categoryId=6424&keyword=lg&format=json"}}],"isfinal":true}},{"subcategory":{"id":36,"thumbnail":{"url":"http://imagem.buscape.com.br/bp5/categorias/36.jpg"},"hasoffer":false,"name":"Monitor","parentcategoryid":2,"links":[{"link":{"type":"category","url":"http://compare.buscape.com.br/monitor.html?mdapp=100&mddtn=69672797"}},{"link":{"type":"xml","url":"http://sandbox.buscape.com/service/findProductList/564771466d477a4458664d3d/br/?categoryId=36&keyword=lg&format=json"}}],"isfinal":true}},{"subcategory":{"id":3673,"thumbnail":{"url":"http://imagem.buscape.com.br/bp5/categorias/3673.jpg"},"hasoffer":false,"name":"Geladeira / Refrigerador","parentcategoryid":116,"links":[{"link":{"type":"category","url":"http://compare.buscape.com.br/geladeira-refrigerador.html?mdapp=100&mddtn=69672797"}},{"link":{"type":"xml","url":"http://sandbox.buscape.com/service/findProductList/564771466d477a4458664d3d/br/?categoryId=3673&keyword=lg&format=json"}}],"isfinal":true}},{"subcategory":{"id":3643,"thumbnail":{"url":"http://imagem.buscape.com.br/bp5/categorias/3643.jpg"},"hasoffer":false,"name":"Home Theater","parentcategoryid":1,"links":[{"link":{"type":"category","url":"http://compare.buscape.com.br/home-theater.html?mdapp=100&mddtn=69672797"}},{"link":{"type":"xml","url":"http://sandbox.buscape.com/service/findProductList/564771466d477a4458664d3d/br/?categoryId=3643&keyword=lg&format=json"}}],"isfinal":true}},{"subcategory":{"id":3601,"thumbnail":{"url":"http://imagem.buscape.com.br/bp5/categorias/3601.jpg"},"hasoffer":false,"name":"Micro System / Mini System","parentcategoryid":1,"links":[{"link":{"type":"category","url":"http://compare.buscape.com.br/micro-system-mini-system.html?mdapp=100&mddtn=69672797"}},{"link":{"type":"xml","url":"http://sandbox.buscape.com/service/findProductList/564771466d477a4458664d3d/br/?categoryId=3601&keyword=lg&format=json"}}],"isfinal":true}},{"subcategory":{"id":5,"thumbnail":{"url":"http://imagem.buscape.com.br/bp5/categorias/5.jpg"},"hasoffer":false,"name":"DVD Player","parentcategoryid":1,"links":[{"link":{"type":"category","url":"http://compare.buscape.com.br/dvd-player.html?mdapp=100&mddtn=69672797"}},{"link":{"type":"xml","url":"http://sandbox.buscape.com/service/findProductList/564771466d477a4458664d3d/br/?categoryId=5&keyword=lg&format=json"}}],"isfinal":true}},{"subcategory":{"id":3671,"thumbnail":{"url":"http://imagem.buscape.com.br/bp5/categorias/3671.jpg"},"hasoffer":false,"name":"Máquina de Lavar Roupas","parentcategoryid":116,"links":[{"link":{"type":"category","url":"http://compare.buscape.com.br/maquina-de-lavar-roupas.html?mdapp=100&mddtn=69672797"}},{"link":{"type":"xml","url":"http://sandbox.buscape.com/service/findProductList/564771466d477a4458664d3d/br/?categoryId=3671&keyword=lg&format=json"}}],"isfinal":true}},{"subcategory":{"id":6168,"thumbnail":{"url":"http://imagem.buscape.com.br/bp5/categorias/6168.jpg"},"hasoffer":false,"name":"Gravador","parentcategoryid":2,"links":[{"link":{"type":"category","url":"http://compare.buscape.com.br/gravador.html?mdapp=100&mddtn=69672797"}},{"link":{"type":"xml","url":"http://sandbox.buscape.com/service/findProductList/564771466d477a4458664d3d/br/?categoryId=6168&keyword=lg&format=json"}}],"isfinal":true}},{"subcategory":{"id":9754,"thumbnail":{"url":"http://imagem.buscape.com.br/bp5/categorias/9754.jpg"},"hasoffer":false,"name":"Blu-Ray Player / HD-DVD Player","parentcategoryid":1,"links":[{"link":{"type":"category","url":"http://compare.buscape.com.br/blu-ray-player-hd-dvd-player.html?mdapp=100&mddtn=69672797"}},{"link":{"type":"xml","url":"http://sandbox.buscape.com/service/findProductList/564771466d477a4458664d3d/br/?categoryId=9754&keyword=lg&format=json"}}],"isfinal":true}},{"subcategory":{"id":126,"thumbnail":{"url":"http://imagem.buscape.com.br/bp5/categorias/126.jpg"},"hasoffer":false,"name":"Microondas","parentcategoryid":116,"links":[{"link":{"type":"category","url":"http://compare.buscape.com.br/microondas.html?mdapp=100&mddtn=69672797"}},{"link":{"type":"xml","url":"http://sandbox.buscape.com/service/findProductList/564771466d477a4458664d3d/br/?categoryId=126&keyword=lg&format=json"}}],"isfinal":true}},{"subcategory":{"id":37,"thumbnail":{"url":"http://imagem.buscape.com.br/bp5/categorias/37.jpg"},"hasoffer":false,"name":"Projetor Multimídia","parentcategoryid":2,"links":[{"link":{"type":"category","url":"http://compare.buscape.com.br/projetor-multimidia.html?mdapp=100&mddtn=69672797"}},{"link":{"type":"xml","url":"http://sandbox.buscape.com/service/findProductList/564771466d477a4458664d3d/br/?categoryId=37&keyword=lg&format=json"}}],"isfinal":true}},{"subcategory":{"id":5839,"thumbnail":{"url":"http://imagem.buscape.com.br/bp5/categorias/5839.jpg"},"hasoffer":false,"name":"Auto-Rádio CD Player","parentcategoryid":1,"links":[{"link":{"type":"category","url":"http://compare.buscape.com.br/auto-radio-cd-player.html?mdapp=100&mddtn=69672797"}},{"link":{"type":"xml","url":"http://sandbox.buscape.com/service/findProductList/564771466d477a4458664d3d/br/?categoryId=5839&keyword=lg&format=json"}}],"isfinal":true}},{"subcategory":{"id":119,"thumbnail":{"url":"http://imagem.buscape.com.br/bp5/categorias/119.jpg"},"hasoffer":false,"name":"Aspirador de Pó / Água","parentcategoryid":116,"links":[{"link":{"type":"category","url":"http://compare.buscape.com.br/aspirador-de-po-agua.html?mdapp=100&mddtn=69672797"}},{"link":{"type":"xml","url":"http://sandbox.buscape.com/service/findProductList/564771466d477a4458664d3d/br/?categoryId=119&keyword=lg&format=json"}}],"isfinal":true}},{"subcategory":{"id":145,"thumbnail":{"url":"http://imagem.buscape.com.br/bp5/categorias/145.jpg"},"hasoffer":false,"name":"Forno Elétrico","parentcategoryid":116,"links":[{"link":{"type":"category","url":"http://compare.buscape.com.br/forno-eletrico.html?mdapp=100&mddtn=69672797"}},{"link":{"type":"xml","url":"http://sandbox.buscape.com/service/findProductList/564771466d477a4458664d3d/br/?categoryId=145&keyword=lg&format=json"}}],"isfinal":true}},{"subcategory":{"id":6507,"thumbnail":{"url":"http://imagem.buscape.com.br/bp5/categorias/6507.jpg"},"hasoffer":false,"name":"Adega Climatizada","parentcategoryid":116,"links":[{"link":{"type":"category","url":"http://compare.buscape.com.br/adega-climatizada.html?mdapp=100&mddtn=69672797"}},{"link":{"type":"xml","url":"http://sandbox.buscape.com/service/findProductList/564771466d477a4458664d3d/br/?categoryId=6507&keyword=lg&format=json"}}],"isfinal":true}},{"subcategory":{"id":3737,"thumbnail":{"url":"http://imagem.buscape.com.br/bp5/categorias/3737.jpg"},"hasoffer":false,"name":"HD","parentcategoryid":2,"links":[{"link":{"type":"category","url":"http://compare.buscape.com.br/hd.html?mdapp=100&mddtn=69672797"}},{"link":{"type":"xml","url":"http://sandbox.buscape.com/service/findProductList/564771466d477a4458664d3d/br/?categoryId=3737&keyword=lg&format=json"}}],"isfinal":true}},{"subcategory":{"id":8727,"thumbnail":{"url":"http://imagem.buscape.com.br/bp5/categorias/8727.jpg"},"hasoffer":false,"name":"Pen Drive","parentcategoryid":2,"links":[{"link":{"type":"category","url":"http://compare.buscape.com.br/pen-drive.html?mdapp=100&mddtn=69672797"}},{"link":{"type":"xml","url":"http://sandbox.buscape.com/service/findProductList/564771466d477a4458664d3d/br/?categoryId=8727&keyword=lg&format=json"}}],"isfinal":true}},{"subcategory":{"id":3429,"thumbnail":{"url":"http://imagem.buscape.com.br/bp5/categorias/3429.jpg"},"hasoffer":false,"name":"Mouse","parentcategoryid":2,"links":[{"link":{"type":"category","url":"http://compare.buscape.com.br/mouse.html?mdapp=100&mddtn=69672797"}},{"link":{"type":"xml","url":"http://sandbox.buscape.com/service/findProductList/564771466d477a4458664d3d/br/?categoryId=3429&keyword=lg&format=json"}}],"isfinal":true}},{"subcategory":{"id":22,"thumbnail":{"url":"http://imagem.buscape.com.br/bp5/categorias/22.jpg"},"hasoffer":false,"name":"PC","parentcategoryid":2,"links":[{"link":{"type":"category","url":"http://compare.buscape.com.br/pc.html?mdapp=100&mddtn=69672797"}},{"link":{"type":"xml","url":"http://sandbox.buscape.com/service/findProductList/564771466d477a4458664d3d/br/?categoryId=22&keyword=lg&format=json"}}],"isfinal":true}},{"subcategory":{"id":3482,"thumbnail":{"url":"http://imagem.buscape.com.br/bp5/categorias/3482.jpg"},"hasoffer":false,"name":"Livros","parentcategoryid":3482,"links":[{"link":{"type":"category","url":"http://compare.buscape.com.br/livros.html?mdapp=100&mddtn=69672797"}},{"link":{"type":"xml","url":"http://sandbox.buscape.com/service/findProductList/564771466d477a4458664d3d/br/?categoryId=3482&keyword=lg&format=json"}}],"isfinal":true}},{"subcategory":{"id":80,"thumbnail":{"url":"http://imagem.buscape.com.br/bp5/categorias/80.jpg"},"hasoffer":true,"name":"Outros Acessórios para Celular e Smartphone","parentcategoryid":6420,"links":[{"link":{"type":"category","url":"http://compare.buscape.com.br/outros-acessorios-para-celular-e-smartphone.html?mdapp=100&mddtn=69672797"}},{"link":{"type":"xml","url":"http://sandbox.buscape.com/service/findOfferList/564771466d477a4458664d3d/br/?categoryId=80&keyword=lg&format=json"}}],"isfinal":true}},{"subcategory":{"id":4699,"thumbnail":{"url":"http://imagem.buscape.com.br/bp5/categorias/4699.jpg"},"hasoffer":true,"name":"Carregador para Celular e Smartphone","parentcategoryid":6420,"links":[{"link":{"type":"category","url":"http://compare.buscape.com.br/carregador-para-celular-e-smartphone.html?mdapp=100&mddtn=69672797"}},{"link":{"type":"xml","url":"http://sandbox.buscape.com/service/findOfferList/564771466d477a4458664d3d/br/?categoryId=4699&keyword=lg&format=json"}}],"isfinal":true}},{"subcategory":{"id":9937,"thumbnail":{"url":"http://imagem.buscape.com.br/bp5/categorias/9937.jpg"},"hasoffer":true,"name":"Fonte para Notebook","parentcategoryid":2,"links":[{"link":{"type":"category","url":"http://compare.buscape.com.br/fonte-para-notebook.html?mdapp=100&mddtn=69672797"}},{"link":{"type":"xml","url":"http://sandbox.buscape.com/service/findOfferList/564771466d477a4458664d3d/br/?categoryId=9937&keyword=lg&format=json"}}],"isfinal":true}},{"subcategory":{"id":6359,"thumbnail":{"url":"http://imagem.buscape.com.br/bp5/categorias/6359.jpg"},"hasoffer":true,"name":"Jaqueta Feminina","parentcategoryid":2468,"links":[{"link":{"type":"category","url":"http://compare.buscape.com.br/jaqueta-feminina.html?mdapp=100&mddtn=69672797"}},{"link":{"type":"xml","url":"http://sandbox.buscape.com/service/findOfferList/564771466d477a4458664d3d/br/?categoryId=6359&keyword=lg&format=json"}}],"isfinal":true}},{"subcategory":{"id":4666,"thumbnail":{"url":"http://imagem.buscape.com.br/bp5/categorias/4666.jpg"},"hasoffer":true,"name":"Bateria para Celular e Smartphone","parentcategoryid":6420,"links":[{"link":{"type":"category","url":"http://compare.buscape.com.br/bateria-para-celular-e-smartphone.html?mdapp=100&mddtn=69672797"}},{"link":{"type":"xml","url":"http://sandbox.buscape.com/service/findOfferList/564771466d477a4458664d3d/br/?categoryId=4666&keyword=lg&format=json"}}],"isfinal":true}},{"subcategory":{"id":2921,"thumbnail":{"url":"http://imagem.buscape.com.br/bp5/categorias/2921.jpg"},"hasoffer":true,"name":"CDs","parentcategoryid":2921,"links":[{"link":{"type":"category","url":"http://compare.buscape.com.br/cds.html?mdapp=100&mddtn=69672797"}},{"link":{"type":"xml","url":"http://sandbox.buscape.com/service/findOfferList/564771466d477a4458664d3d/br/?categoryId=2921&keyword=lg&format=json"}}],"isfinal":true}},{"subcategory":{"id":9938,"thumbnail":{"url":"http://imagem.buscape.com.br/bp5/categorias/9938.jpg"},"hasoffer":true,"name":"Bateria para Notebook","parentcategoryid":2,"links":[{"link":{"type":"category","url":"http://compare.buscape.com.br/bateria-para-notebook.html?mdapp=100&mddtn=69672797"}},{"link":{"type":"xml","url":"http://sandbox.buscape.com/service/findOfferList/564771466d477a4458664d3d/br/?categoryId=9938&keyword=lg&format=json"}}],"isfinal":true}},{"subcategory":{"id":9941,"thumbnail":{"url":"http://imagem.buscape.com.br/bp5/categorias/9941.jpg"},"hasoffer":true,"name":"Outros Acessórios para Notebook","parentcategoryid":2,"links":[{"link":{"type":"category","url":"http://compare.buscape.com.br/outros-acessorios-para-notebook.html?mdapp=100&mddtn=69672797"}},{"link":{"type":"xml","url":"http://sandbox.buscape.com/service/findOfferList/564771466d477a4458664d3d/br/?categoryId=9941&keyword=lg&format=json"}}],"isfinal":true}},{"subcategory":{"id":4671,"thumbnail":{"url":"http://imagem.buscape.com.br/bp5/categorias/4671.jpg"},"hasoffer":true,"name":"Fone de Ouvido para Celular e Smartphone","parentcategoryid":6420,"links":[{"link":{"type":"category","url":"http://compare.buscape.com.br/fone-de-ouvido-para-celular-e-smartphone.html?mdapp=100&mddtn=69672797"}},{"link":{"type":"xml","url":"http://sandbox.buscape.com/service/findOfferList/564771466d477a4458664d3d/br/?categoryId=4671&keyword=lg&format=json"}}],"isfinal":true}},{"subcategory":{"id":4667,"thumbnail":{"url":"http://imagem.buscape.com.br/bp5/categorias/4667.jpg"},"hasoffer":true,"name":"Capa para Celular e Smartphone","parentcategoryid":6420,"links":[{"link":{"type":"category","url":"http://compare.buscape.com.br/capa-para-celular-e-smartphone.html?mdapp=100&mddtn=69672797"}},{"link":{"type":"xml","url":"http://sandbox.buscape.com/service/findOfferList/564771466d477a4458664d3d/br/?categoryId=4667&keyword=lg&format=json"}}],"isfinal":true}},{"subcategory":{"id":9469,"thumbnail":{"url":"http://imagem.buscape.com.br/bp5/categorias/9469.jpg"},"hasoffer":true,"name":"Cabo de Dados para Celular e Smartphone","parentcategoryid":6420,"links":[{"link":{"type":"category","url":"http://compare.buscape.com.br/cabo-de-dados-para-celular-e-smartphone.html?mdapp=100&mddtn=69672797"}},{"link":{"type":"xml","url":"http://sandbox.buscape.com/service/findOfferList/564771466d477a4458664d3d/br/?categoryId=9469&keyword=lg&format=json"}}],"isfinal":true}},{"subcategory":{"id":7918,"thumbnail":{"url":"http://imagem.buscape.com.br/bp5/categorias/7918.jpg"},"hasoffer":true,"name":"Câmera de Segurança","parentcategoryid":2701,"links":[{"link":{"type":"category","url":"http://compare.buscape.com.br/camera-de-seguranca.html?mdapp=100&mddtn=69672797"}},{"link":{"type":"xml","url":"http://sandbox.buscape.com/service/findOfferList/564771466d477a4458664d3d/br/?categoryId=7918&keyword=lg&format=json"}}],"isfinal":true}},{"subcategory":{"id":10800,"thumbnail":{"url":"http://imagem.buscape.com.br/bp5/categorias/10800.jpg"},"hasoffer":true,"name":"Óculos 3D","parentcategoryid":1,"links":[{"link":{"type":"category","url":"http://compare.buscape.com.br/oculos-3d.html?mdapp=100&mddtn=69672797"}},{"link":{"type":"xml","url":"http://sandbox.buscape.com/service/findOfferList/564771466d477a4458664d3d/br/?categoryId=10800&keyword=lg&format=json"}}],"isfinal":true}},{"subcategory":{"id":18,"thumbnail":{"url":"http://imagem.buscape.com.br/bp5/categorias/18.jpg"},"hasoffer":false,"name":"MP3 Player / MP4 Player","parentcategoryid":1,"links":[{"link":{"type":"category","url":"http://compare.buscape.com.br/mp3-player-mp4-player.html?mdapp=100&mddtn=69672797"}},{"link":{"type":"xml","url":"http://sandbox.buscape.com/service/findProductList/564771466d477a4458664d3d/br/?categoryId=18&keyword=lg&format=json"}}],"isfinal":true}},{"subcategory":{"id":8241,"thumbnail":{"url":"http://imagem.buscape.com.br/bp5/categorias/8241.jpg"},"hasoffer":true,"name":"Outros Serviços em Construção Civil","parentcategoryid":5845,"links":[{"link":{"type":"category","url":"http://compare.buscape.com.br/outros-servicos-em-construcao-civil.html?mdapp=100&mddtn=69672797"}},{"link":{"type":"xml","url":"http://sandbox.buscape.com/service/findOfferList/564771466d477a4458664d3d/br/?categoryId=8241&keyword=lg&format=json"}}],"isfinal":true}},{"subcategory":{"id":16,"thumbnail":{"url":"http://imagem.buscape.com.br/bp5/categorias/16.jpg"},"hasoffer":false,"name":"Fone de Ouvido / Headset","parentcategoryid":1,"links":[{"link":{"type":"category","url":"http://compare.buscape.com.br/fone-de-ouvido-headset.html?mdapp=100&mddtn=69672797"}},{"link":{"type":"xml","url":"http://sandbox.buscape.com/service/findProductList/564771466d477a4458664d3d/br/?categoryId=16&keyword=lg&format=json"}}],"isfinal":true}},{"subcategory":{"id":103,"thumbnail":{"url":"http://imagem.buscape.com.br/bp5/categorias/103.jpg"},"hasoffer":false,"name":"WebCam","parentcategoryid":2,"links":[{"link":{"type":"category","url":"http://compare.buscape.com.br/webcam.html?mdapp=100&mddtn=69672797"}},{"link":{"type":"xml","url":"http://sandbox.buscape.com/service/findProductList/564771466d477a4458664d3d/br/?categoryId=103&keyword=lg&format=json"}}],"isfinal":true}},{"subcategory":{"id":4669,"thumbnail":{"url":"http://imagem.buscape.com.br/bp5/categorias/4669.jpg"},"hasoffer":true,"name":"Kit Viva Voz para Celular e Smartphone","parentcategoryid":6420,"links":[{"link":{"type":"category","url":"http://compare.buscape.com.br/kit-viva-voz-para-celular-e-smartphone.html?mdapp=100&mddtn=69672797"}},{"link":{"type":"xml","url":"http://sandbox.buscape.com/service/findOfferList/564771466d477a4458664d3d/br/?categoryId=4669&keyword=lg&format=json"}}],"isfinal":true}},{"subcategory":{"id":2947,"thumbnail":{"url":"http://imagem.buscape.com.br/bp5/categorias/2947.jpg"},"hasoffer":false,"name":"Mochila","parentcategoryid":1328,"links":[{"link":{"type":"category","url":"http://compare.buscape.com.br/mochila.html?mdapp=100&mddtn=69672797"}},{"link":{"type":"xml","url":"http://sandbox.buscape.com/service/findProductList/564771466d477a4458664d3d/br/?categoryId=2947&keyword=lg&format=json"}}],"isfinal":true}},{"subcategory":{"id":4632,"thumbnail":{"url":"http://imagem.buscape.com.br/bp5/categorias/4632.jpg"},"hasoffer":true,"name":"Outros Acessórios para Áudio / Vídeo","parentcategoryid":1,"links":[{"link":{"type":"category","url":"http://compare.buscape.com.br/outros-acessorios-para-audio-video.html?mdapp=100&mddtn=69672797"}},{"link":{"type":"xml","url":"http://sandbox.buscape.com/service/findOfferList/564771466d477a4458664d3d/br/?categoryId=4632&keyword=lg&format=json"}}],"isfinal":true}},{"subcategory":{"id":75,"thumbnail":{"url":"http://imagem.buscape.com.br/bp5/categorias/75.jpg"},"hasoffer":false,"name":"Roteador","parentcategoryid":2,"links":[{"link":{"type":"category","url":"http://compare.buscape.com.br/roteador.html?mdapp=100&mddtn=69672797"}},{"link":{"type":"xml","url":"http://sandbox.buscape.com/service/findProductList/564771466d477a4458664d3d/br/?categoryId=75&keyword=lg&format=json"}}],"isfinal":true}},{"subcategory":{"id":7356,"thumbnail":{"url":"http://imagem.buscape.com.br/bp5/categorias/7356.jpg"},"hasoffer":true,"name":"Assistência Técnica de Equipamentos de Informática","parentcategoryid":5845,"links":[{"link":{"type":"category","url":"http://compare.buscape.com.br/assistencia-tecnica-de-equipamentos-de-informatica.html?mdapp=100&mddtn=69672797"}},{"link":{"type":"xml","url":"http://sandbox.buscape.com/service/findOfferList/564771466d477a4458664d3d/br/?categoryId=7356&keyword=lg&format=json"}}],"isfinal":true}},{"subcategory":{"id":6399,"thumbnail":{"url":"http://imagem.buscape.com.br/bp5/categorias/6399.jpg"},"hasoffer":false,"name":"Auto-DVD Player","parentcategoryid":1,"links":[{"link":{"type":"category","url":"http://compare.buscape.com.br/auto-dvd-player.html?mdapp=100&mddtn=69672797"}},{"link":{"type":"xml","url":"http://sandbox.buscape.com/service/findProductList/564771466d477a4458664d3d/br/?categoryId=6399&keyword=lg&format=json"}}],"isfinal":true}},{"subcategory":{"id":3772,"thumbnail":{"url":"http://imagem.buscape.com.br/bp5/categorias/3772.jpg"},"hasoffer":false,"name":"Aparelho Telefônico","parentcategoryid":6420,"links":[{"link":{"type":"category","url":"http://compare.buscape.com.br/aparelho-telefonico.html?mdapp=100&mddtn=69672797"}},{"link":{"type":"xml","url":"http://sandbox.buscape.com/service/findProductList/564771466d477a4458664d3d/br/?categoryId=3772&keyword=lg&format=json"}}],"isfinal":true}},{"subcategory":{"id":172,"thumbnail":{"url":"http://imagem.buscape.com.br/bp5/categorias/172.jpg"},"hasoffer":true,"name":"Leitor de Cartão de Memória","parentcategoryid":2,"links":[{"link":{"type":"category","url":"http://compare.buscape.com.br/leitor-de-cartao-de-memoria.html?mdapp=100&mddtn=69672797"}},{"link":{"type":"xml","url":"http://sandbox.buscape.com/service/findOfferList/564771466d477a4458664d3d/br/?categoryId=172&keyword=lg&format=json"}}],"isfinal":true}},{"subcategory":{"id":9532,"thumbnail":{"url":"http://imagem.buscape.com.br/bp5/categorias/9532.jpg"},"hasoffer":true,"name":"Imóveis Residenciais","parentcategoryid":9549,"links":[{"link":{"type":"category","url":"http://compare.buscape.com.br/imoveis-residenciais.html?mdapp=100&mddtn=69672797"}},{"link":{"type":"xml","url":"http://sandbox.buscape.com/service/findOfferList/564771466d477a4458664d3d/br/?categoryId=9532&keyword=lg&format=json"}}],"isfinal":true}},{"subcategory":{"id":7985,"thumbnail":{"url":"http://imagem.buscape.com.br/bp5/categorias/7985.jpg"},"hasoffer":true,"name":"Serviços em Pisos","parentcategoryid":5845,"links":[{"link":{"type":"category","url":"http://compare.buscape.com.br/servicos-em-pisos.html?mdapp=100&mddtn=69672797"}},{"link":{"type":"xml","url":"http://sandbox.buscape.com/service/findOfferList/564771466d477a4458664d3d/br/?categoryId=7985&keyword=lg&format=json"}}],"isfinal":true}},{"subcategory":{"id":7349,"thumbnail":{"url":"http://imagem.buscape.com.br/bp5/categorias/7349.jpg"},"hasoffer":true,"name":"Assessoria Contábil","parentcategoryid":5845,"links":[{"link":{"type":"category","url":"http://compare.buscape.com.br/assessoria-contabil.html?mdapp=100&mddtn=69672797"}},{"link":{"type":"xml","url":"http://sandbox.buscape.com/service/findOfferList/564771466d477a4458664d3d/br/?categoryId=7349&keyword=lg&format=json"}}],"isfinal":true}},{"subcategory":{"id":7334,"thumbnail":{"url":"http://imagem.buscape.com.br/bp5/categorias/7334.jpg"},"hasoffer":true,"name":"Aluguel de Automóvel","parentcategoryid":5845,"links":[{"link":{"type":"category","url":"http://compare.buscape.com.br/aluguel-de-automovel.html?mdapp=100&mddtn=69672797"}},{"link":{"type":"xml","url":"http://sandbox.buscape.com/service/findOfferList/564771466d477a4458664d3d/br/?categoryId=7334&keyword=lg&format=json"}}],"isfinal":true}},{"subcategory":{"id":52,"thumbnail":{"url":"http://imagem.buscape.com.br/bp5/categorias/52.jpg"},"hasoffer":false,"name":"Cartão de Memória","parentcategoryid":2,"links":[{"link":{"type":"category","url":"http://compare.buscape.com.br/cartao-de-memoria.html?mdapp=100&mddtn=69672797"}},{"link":{"type":"xml","url":"http://sandbox.buscape.com/service/findProductList/564771466d477a4458664d3d/br/?categoryId=52&keyword=lg&format=json"}}],"isfinal":true}},{"subcategory":{"id":62,"thumbnail":{"url":"http://imagem.buscape.com.br/bp5/categorias/62.jpg"},"hasoffer":false,"name":"Caixa de Som para PC","parentcategoryid":2,"links":[{"link":{"type":"category","url":"http://compare.buscape.com.br/caixa-de-som-para-pc.html?mdapp=100&mddtn=69672797"}},{"link":{"type":"xml","url":"http://sandbox.buscape.com/service/findProductList/564771466d477a4458664d3d/br/?categoryId=62&keyword=lg&format=json"}}],"isfinal":true}},{"subcategory":{"id":111,"thumbnail":{"url":"http://imagem.buscape.com.br/bp5/categorias/111.jpg"},"hasoffer":false,"name":"Vídeo Cassete","parentcategoryid":1,"links":[{"link":{"type":"category","url":"http://compare.buscape.com.br/video-cassete.html?mdapp=100&mddtn=69672797"}},{"link":{"type":"xml","url":"http://sandbox.buscape.com/service/findProductList/564771466d477a4458664d3d/br/?categoryId=111&keyword=lg&format=json"}}],"isfinal":true}},{"subcategory":{"id":2782,"thumbnail":{"url":"http://imagem.buscape.com.br/bp5/categorias/2782.jpg"},"hasoffer":true,"name":"Controle Remoto","parentcategoryid":1,"links":[{"link":{"type":"category","url":"http://compare.buscape.com.br/controle-remoto.html?mdapp=100&mddtn=69672797"}},{"link":{"type":"xml","url":"http://sandbox.buscape.com/service/findOfferList/564771466d477a4458664d3d/br/?categoryId=2782&keyword=lg&format=json"}}],"isfinal":true}},{"subcategory":{"id":4029,"thumbnail":{"url":"http://imagem.buscape.com.br/bp5/categorias/4029.jpg"},"hasoffer":true,"name":"Suplementos Nutricionais Esportivos","parentcategoryid":1328,"links":[{"link":{"type":"category","url":"http://compare.buscape.com.br/suplementos-nutricionais-esportivos.html?mdapp=100&mddtn=69672797"}},{"link":{"type":"xml","url":"http://sandbox.buscape.com/service/findOfferList/564771466d477a4458664d3d/br/?categoryId=4029&keyword=lg&format=json"}}],"isfinal":true}},{"subcategory":{"id":2794,"thumbnail":{"url":"http://imagem.buscape.com.br/bp5/categorias/2794.jpg"},"hasoffer":true,"name":"Massageador Elétrico","parentcategoryid":249,"links":[{"link":{"type":"category","url":"http://compare.buscape.com.br/massageador-eletrico.html?mdapp=100&mddtn=69672797"}},{"link":{"type":"xml","url":"http://sandbox.buscape.com/service/findOfferList/564771466d477a4458664d3d/br/?categoryId=2794&keyword=lg&format=json"}}],"isfinal":true}},{"subcategory":{"id":7606,"thumbnail":{"url":"http://imagem.buscape.com.br/bp5/categorias/7606.jpg"},"hasoffer":true,"name":"Música Digital","parentcategoryid":7606,"links":[{"link":{"type":"category","url":"http://compare.buscape.com.br/musica-digital.html?mdapp=100&mddtn=69672797"}},{"link":{"type":"xml","url":"http://sandbox.buscape.com/service/findOfferList/564771466d477a4458664d3d/br/?categoryId=7606&keyword=lg&format=json"}}],"isfinal":true}},{"subcategory":{"id":7157,"thumbnail":{"url":"http://imagem.buscape.com.br/bp5/categorias/7157.jpg"},"hasoffer":true,"name":"Apostila para Concursos / Cursos","parentcategoryid":6108,"links":[{"link":{"type":"category","url":"http://compare.buscape.com.br/apostila-para-concursos-cursos.html?mdapp=100&mddtn=69672797"}},{"link":{"type":"xml","url":"http://sandbox.buscape.com/service/findOfferList/564771466d477a4458664d3d/br/?categoryId=7157&keyword=lg&format=json"}}],"isfinal":true}},{"subcategory":{"id":6976,"thumbnail":{"url":"http://imagem.buscape.com.br/bp5/categorias/6976.jpg"},"hasoffer":false,"name":"Mala","parentcategoryid":2468,"links":[{"link":{"type":"category","url":"http://compare.buscape.com.br/mala.html?mdapp=100&mddtn=69672797"}},{"link":{"type":"xml","url":"http://sandbox.buscape.com/service/findProductList/564771466d477a4458664d3d/br/?categoryId=6976&keyword=lg&format=json"}}],"isfinal":true}},{"subcategory":{"id":10369,"thumbnail":{"url":"http://imagem.buscape.com.br/bp5/categorias/10369.jpg"},"hasoffer":true,"name":"Lâmpada para Projetor","parentcategoryid":2,"links":[{"link":{"type":"category","url":"http://compare.buscape.com.br/lampada-para-projetor.html?mdapp=100&mddtn=69672797"}},{"link":{"type":"xml","url":"http://sandbox.buscape.com/service/findOfferList/564771466d477a4458664d3d/br/?categoryId=10369&keyword=lg&format=json"}}],"isfinal":true}},{"subcategory":{"id":9825,"thumbnail":{"url":"http://imagem.buscape.com.br/bp5/categorias/9825.jpg"},"hasoffer":false,"name":"Carros","parentcategoryid":3841,"links":[{"link":{"type":"category","url":"http://compare.buscape.com.br/carros.html?mdapp=100&mddtn=69672797"}},{"link":{"type":"xml","url":"http://sandbox.buscape.com/service/findProductList/564771466d477a4458664d3d/br/?categoryId=9825&keyword=lg&format=json"}}],"isfinal":true}},{"subcategory":{"id":10586,"thumbnail":{"url":"http://imagem.buscape.com.br/bp5/categorias/10586.jpg"},"hasoffer":true,"name":"Outros Acessórios para Aparelhos Telefônicos","parentcategoryid":6420,"links":[{"link":{"type":"category","url":"http://compare.buscape.com.br/outros-acessorios-para-aparelhos-telefonicos.html?mdapp=100&mddtn=69672797"}},{"link":{"type":"xml","url":"http://sandbox.buscape.com/service/findOfferList/564771466d477a4458664d3d/br/?categoryId=10586&keyword=lg&format=json"}}],"isfinal":true}},{"subcategory":{"id":7444,"thumbnail":{"url":"http://imagem.buscape.com.br/bp5/categorias/7444.jpg"},"hasoffer":true,"name":"Tela de Projeção","parentcategoryid":1,"links":[{"link":{"type":"category","url":"http://compare.buscape.com.br/tela-de-projecao.html?mdapp=100&mddtn=69672797"}},{"link":{"type":"xml","url":"http://sandbox.buscape.com/service/findOfferList/564771466d477a4458664d3d/br/?categoryId=7444&keyword=lg&format=json"}}],"isfinal":true}}],"totalresultsavailable":65,"totalresultsreturned":65}

Para converter os dados do retorno, vamos utilizar a classe JavaScriptSerializer presente no namespace System.Web.Script.Serialization do .NET, portanto não esqueçam de utilizar a diretiva using com esse namespace antes de iniciar.

Após instanciar um objeto da classe JavaScriptSerializer, vamos utilizar o método Deserialize<T>() para transformar o objeto JSON principal em um objeto do tipo Dictionary<string, object>. Depois vamos pegar o nó subcategory do JSON, indexando o objeto Dictionary criado.

JavaScriptSerializer deserializer = new JavaScriptSerializer();
Dictionary<string, object> data = deserializer.Deserialize<Dictionary<string, object>>(categoryList);
ArrayList subcategories = (ArrayList)data["subcategory"];

Como temos vários objetos JSON dentro de subcategory, ele nos retorna um tipo ArrayList com todas as categorias retornadas. Devemos, então, percorrer esse objeto para tratar cada atributo das categorias.

foreach (Dictionary<string, object> sub in subcategories)
{
// Aqui pegamos cada um dos atributos
}

A primeira coisa que vamos fazer é instanciar um objeto do tipo Dictionary<string, object> para receber os dados da categoria.

Dictionary<string, object> subData = (Dictionary<string, object>)sub["subcategory"];

A forma que acessamos os atributos do objeto convertido é indexanda ao objeto com o nome do atributo que desejamos – por exemplo para recuperar o nome da categoria usamos subData[“name”]. Simples, não?

Para não dizer que é tão simples assim, temos dois atributos que vamos ter um pouco mais de trabalho para recuperar seu valor: o thumbnail e a url. Para o thumbnail, com apenas mais um índice conseguimos seu valor. Já para a URL teremos algumas linhas a mais para conseguir:

// Recuperando o link para imagem da categoria
Dictionary<string, object> thumbnail = (Dictionary<string, object>)subData["thumbnail"];

// Recuperando a URL para os produtos da categoria
ArrayList links = (ArrayList)subData["links"];
Dictionary<string, object> productLink = (Dictionary<string, object>)links[1];
Dictionary<string, object> link = (Dictionary<string, object>)productLink["link"];

Pronto, com esses dois últimos atributos setados, podemos exibir os dados de retorno:

Response.Write(string.Format("<img src=\"{0}\" alt=\"{1}\" /> <br />", thumbnail["url"], subData["name"]));
Response.Write(string.Format("Categoria: {0} - {1} <br />", subData["id"], subData["name"]));
Response.Write(string.Format("Link para os produtos: <a href=\"{0}\">{0}</a> <br />", link["url"]));
Response.Write(string.Format("Tem Oferta: {0} - ID categoria pai: {1} - é final? {2} <br />", subData["hasoffer"], subData["parentcategoryid"], subData["isfinal"]));
Response.Write("<hr />");

É isso aí pessoal! Dessa forma, conseguimos trabalhar com o retorno em JSON da API do Buscapé utilizando somente as classes padrões do framework .NET, sem a necessidade de um componente extra. Abaixo, deixo o código completo utilizado neste artigo para não ficar nenhuma dúvida.

// Recuperando os dados em JSON
Apiki_Buscape_API.Apiki_Buscape_API apiBuscape = new Apiki_Buscape_API.Apiki_Buscape_API("564771466d477a4458664d3d", string.Empty, "BR", "json");
string categoryList = apiBuscape.FindCategoryList(null, "LG", string.Empty);

// Convert o JSON em uma coleção do tipo Dictionary e separa somente o nó subcategory em um array list
JavaScriptSerializer deserializer = new JavaScriptSerializer();
Dictionary<string, object> data = deserializer.Deserialize<Dictionary<string, object>>(categoryList);
ArrayList subcategories = (ArrayList)data["subcategory"];

foreach (Dictionary<string, object> sub in subcategories)
{
Dictionary<string, object> subData = (Dictionary<string, object>)sub["subcategory"];

// Recuperando o link para imagem da categoria
Dictionary<string, object> thumbnail = (Dictionary<string, object>)subData["thumbnail"];

// Recuperando a URL para os produtos da categoria
ArrayList links = (ArrayList)subData["links"];
Dictionary<string, object> productLink = (Dictionary<string, object>)links[1];
Dictionary<string, object> link = (Dictionary<string, object>)productLink["link"];

Response.Write(string.Format("<img src=\"{0}\" alt=\"{1}\" /> <br />", thumbnail["url"], subData["name"]));
Response.Write(string.Format("Categoria: {0} - {1} <br />", subData["id"], subData["name"]));
Response.Write(string.Format("Link para os produtos: <a href=\"{0}\">{0}</a> <br />", link["url"]));
Response.Write(string.Format("Tem Oferta: {0} - ID categoria pai: {1} - é final? {2}

Nova API JSON padrão para Java será desenvolvida

Uma nova interface Java para processamento de dados no formato JSON foi aprovada pela Java Community Process (JCP) como uma Java Specification Request (JSR).

Com 10 votos a favor e 6 abstenções, o comitê executivo votou a favor do JSR 353, que, primeiramente, tem como objetivo ser a base para o desenvolvimento padronizado para futuras APIs JSON e vai permitir que aplicativos sejam menores e mais portáveis por não terem o pacote existente nas bibliotecas JSON.

A proposta planeja capacitar a produção e o consumo do texto JSON, em um estilo semelhante ao da API StAX usada para XML. Além disso, ela está focada na produção de um modelo de objeto e de uma API para texto JSON, em um estilo semelhante ao da API DOM para XML.

O pedido aponta especificamente que ligar o texto JSON a objetos Java, e vice-versa, não é a meta da especificação. Os desenvolvedores afirmaram que pretendem integrar o JSR 353 no Java EE 7, assim como oferecer uma variante independente para o for Java SE 6 e superior.

O SouJava, grupo de usuários brasileiros, votou a favor do JSR e comentou favoravelmente a respeito do trabalho da especificação, liderado por Jitendra Kotamraju, que, segundo eles, já demonstrou sua habilidade em envolver desenvolvedores a partir da comunidade mais ampla. A IBM também se manifestou e afirmou que seu voto a favor do JSR foi exclusivamente baseado nos méritos técnicos do JSR 353.

Com informações de The H

Fonte: IMasters

Introdução: JSON

Afinal, o que é JSON?

JSON é basicamente um formato leve de troca de informações/dados entre sistemas. Mas JSON significa JavaScript Object Notation, ou seja, só posso usar com JavaScript correto? Na verdade não e alguns ainda caem nesta armadilha.

O JSON além de ser um formato leve para troca de dados é também muito simples de ler. Mas quando dizemos que algo é simples, é interessante compará-lo com algo mais complexo para entendermos tal simplicidade não é? Neste caso podemos comparar o JSON com o formato XML.

Vamos visualizar esta diferença?


XML

<?xml version="1.0" encoding="UTF-8"?>
  <id>1</id>
  <nome>Alexandre Gama</nome>
  <endereco>R. Qualquer</endereco>
</xml>

JSON

{"id":1,"nome":"Alexandre Gama", "endereco":"R. Qualquer"}

Bom, é notável a diferença. Visualmente o segundo trecho (em JSON) é mais fácil de ler. Mas só existe essa diferença entre os dois? Na verdade não. Podemos listar algumas outras vantagens:

Vantagens do JSON:

– Leitura mais simples

– Analisador(parsing) mais fácil

– JSON suporta objetos! Sim, ele é tipado!

– Velocidade maior na execução e transporte de dados

– Arquivo com tamanho reduzido

– Quem utiliza? Google, Facebook, Yahoo!, Twitter…

Estas são algumas das vantagens apresentadas pelo JSON. Agora vamos ao que interessa: Código!

Vamos fazer um exemplo extremamente simples nesta primeira parte e avançaremos no próximo artigo, inclusive falando sobre JSON em páginas Web.

Qual biblioteca usar?

Existem diversas bibliotecas para trabalharmos com JSON e Java. Usaremos no nosso estudo o json.jar que você pode baixar tranquilamente neste link

O nosso caso de estudo será simples: Teremos uma classe Carro que será a nossa classe POJO e a classe EstudoJSON que terá o nosso famoso método main.

Classe Carro

package br.com.json;

public class Carro {
    private Long id;
    private String modelo;
    private String placa;

    public Long getId() {
        return id;
    }
    public void setId(Long id) {
        this.id = id;
    }
    public String getModelo() {
        return modelo;
    }
    public void setModelo(String modelo) {
        this.modelo = modelo;
    }
    public String getPlaca() {
        return placa;
    }
    public void setPlaca(String placa) {
        this.placa = placa;
    }

        //Aqui fizemos o Override do método toString() para visualizar a impressão com o System.out.println()
    @Override
    public String toString() {
        return "[id=" + id + ", modelo=" + modelo + ", placa=" + placa
                + "]";
    }

}

Esta é uma classe simples, onde temos os atributos Id, Modelo e Placa.

Agora teremos a classe EstudoJSON

package br.com.json;

import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;

public class EstudoJSON {
    public static void main(String[] args) throws JSONException {
        adicaoSimplesDeDados();
    }
}

Repare que criamos o método adicaoSimplesDeDados() que conterá o código de exemplo:

private static void adicaoSimplesDeDados() throws JSONException {
    //Criação do objeto carro e atribuição dos valores
    Carro carro = new Carro();
    carro.setId(1);
    carro.setModelo("Celta");
    carro.setPlaca("AAA1234");

    //Criação do objeto carroJson
    JSONObject carroJson = new JSONObject();
    //Inserção dos valores do carro no objeto JSON
    carroJson.put("id", carro.getId());
    carroJson.put("Modelo", carro.getModelo());
    carroJson.put("Placa", carro.getPlaca());

    //Impressão do objeto JSON
    System.out.println(carroJson);
}

Se executarmos este código, veremos que foi impresso no console o seguinte:

{"id":1,"Modelo":"Celta","Placa":"AAA1234"}

Você desenvolvedor mais atento vai reparar que existe um objeto impresso: Um Long! Isso mesmo! Como vimos, o JSON consegue armazenar objetos! Podemos inclusive armazenar um objeto do tipo Carro mesmo:

Modificamos o nosso método main:

public class EstudoJSON {
    public static void main(String[] args) throws JSONException {
        adicaoSimplesDeDados();

        adicaoDeUmObjeto();
    }
}

E adicionamos o método adicaoDeUmObjeto():

private static void adicaoDeUmObjeto() throws JSONException {
    Carro carro = new Carro();
    carro.setId(1l);
    carro.setModelo("Celta");
    carro.setPlaca("AAA1234");

    JSONObject carroJson = new JSONObject();
    //Adição do objeto carro
    carroJson.put("Carro", carro);

    System.out.println(carroJson);
}

Neste caso foi impresso no console o seguinte:

{"Carro":"[id=1, modelo=Celta, placa=AAA1234]"}

Simples não?

Como o JSON trabalha com coleção de pares nome/valor, podemos imprimir um valor específico simplesmente chamando o nome que desejamos.

System.out.println(carroJson.get("Modelo"));

Conclusão

É isso pessoal! Vimos as vantagens do JSON e vimos como é simples começar a trabalhar com ele.

Fonte: Alexandre Gama/devmedia

JSON + Spring

É possível trabalhar com JSON e Spring. Você pode produzir dados em formato JSON dos controllers do framework, facilitando a manipulação da informação na página.

Mas como fazer isso?

Para isso, utilizamos a lib json-lib-ext-spring. Existem outras alternativas (biblioteca/lib), mas particularmente achei esse mais fácil e menos trabalhosa. Não esqueça de fazer o download da Json-lib e suas dependências.

Após o donwload e adição no buildPath do projeto, apenas é preciso fazer algumas pequenas modificações:

A primeira é acrescentar um arquivo chamado views.xml ao diretório do WEB-INF com o seguinte conteúdo:

O segundo é adicionar o conteúdo seguinte ao arquivo de configuração do Spring:

Lembre-se de setar uma ordem se você estiver utilizando algum outro view resolver.

Com essas alterações efetuadas, basta utilizar “jsonView” como o viewname e o model será convertido para json quando voltar para o cliente:

Fonte: Loiane Groner