Você está na página 1de 2

23/04/13

Verso para impresso: TRABALHANDO COM TIPOS JSON NO DELPHI 2010 - PARTE 3
www.de vm e dia.com .br [ve rso para im pre sso]

TRABALHANDO COM TIPOS JSON NO DELPHI 2010 - PARTE 3

Neste artigo iremos trabalhar com os tipos nativos do delhi para notao JSON implementados na unit DBXJSON. Iremos iterar um JSONArray, em portugus, um array nativo do delphi do tipo JSON.
TRABALHANDO COM TIPOS JSON NO DELPHI 2010 Tipo didtico-prtico Requisitos: PARTE 2 Neste artigo iremos trabalhar com os tipos nativos do delhi para notao JSON implementados na unit DBXJSON. Iremos iterar um JSONArray, em portugus, um array nativo do delphi do tipo JSON. Vamos prtica Abra o projeto implementado na PARTE 2 desta sequncia de artigos. Selecione o formulrio e altere a propriedade Caption para TRABALHANDO COM TIPOS JSON NO DELPHI 2010 - PARTE 1, 2 e 3 No formulrio coloque um mais um boto. Selecione o boto e no Object Inspector altere a propriedade Caption para Iterar JSONArray . Altere tambm a propriedade Name para BtnIterarJSONArray . Clique duplo sobre o boto e codifique o procedimento para que fique de acordo com o cdigo abaixo:
p r o c e d u r eT F o r m 1 . B t n I t e r a r J S O N A r r a y C l i c k ( S e n d e r :T O b j e c t ) ; v a r j s o n O b j ,j S u b O b j :T J S O N O b j e c t ; j a :T J S O N A r r a y ; j p ,j S u b P a r :T J S O N P a i r ; i ,j :i n t e g e r ; b e g i n F o r m 1 . M e m o 1 . L i n e s . C l e a r ; j s o n O b j: =T J S O N O b j e c t . P a r s e J S O N V a l u e ( T E n c o d i n g . A S C I I . G e t B y t e s ( ' { " r e s u l t " : [ { " N o m e " : " D E L M A R " , " C i d a d e " : " A J U R I C A B A " , " B a i r r o " : " C E N T R O " } , { " N o m e " : " D A L V A N " , " C i d a d e " : " I J U " , " B a i r r o " : " J A R D I M " } ] } ' ) ,0 )a sT J S O N O b j e c t ; / / d a d aas e g u i n t es t r i n ge mn o t a oJ S O Nq u es e r c o n v e r t i d ap e l af u n oP a r s e J S O N V a l u ee mu mo b j e t on a t i v od od e l p h id ot i p oT J S O N O b j e c t j p: =T J S O N P a i r . C r e a t e ; j p: =j s o n O b j . G e t ( 0 ) ; / / p e g aop a rz e r o j a: =T J S O N A r r a y . C r e a t e ; j a: =( j p . J s o n V a l u ea sT J S O N A r r a y ) ;/ /d op a rz e r op e g aov a l o r ,q u ea r r a y F o r m 1 . M e m o 1 . L i n e s . A d d ( ' q u a n t i d a d ed ee l e m e n t o s'+ j S u b O b j : =T J S O N O b j e c t . C r e a t e ; j S u b P a r: =T J S O N P a i r . C r e a t e ; f o ri: =0t oj a . S i z e-1d o/ / i t e r aoa r r a yp a r ap e g a rc a d ae l e m e n t o b e g i n j S u b O b j: =( j a . G e t ( i )a sT J S O N O b j e c t ) ;/ / p e g ac a d ae l e m e n t od oa r r a y ,o n d ec a d ae l e m e n t ou mo b j e t o ,n e s t ec a s o ,e mf u n od as t r i n gJ S O Nm o n t a d aa c i m a F o r m 1 . M e m o 1 . L i n e s . A d d ( ' ' ) ; F o r m 1 . M e m o 1 . L i n e s . A d d ( ' N oe l e m e n t o'+I n t T o S t r ( i )+'aq u a n t i d a d ed ep a r e sd oo b j e t o='+ I n t T o S t r ( j S u b O b j . S i z e )) ;/ / q u a n t i d a d ed ep a r e sd oo b j e t o f o rj: =0t oj S u b O b j . S i z e-1d o / / i t e r aoo b j e t op a r ap e g a rc a d ap a r b e g i n j S u b P a r: =j S u b O b j . G e t ( j ) ; / / p e g aop a rn o n d i c ej F o r m 1 . M e m o 1 . L i n e s . A d d ( j S u b P a r . J s o n S t r i n g . V a l u e+':'+j S u b P a r . J s o n V a l u e . V a l u e ) ;/ / d op a rp e g as e p a r a d oac h a v eeov a l o ru s a n d oV a l u e e n d ; e n d ; e n d ; I n t T o S t r ( j a . S i z e ) ) ;/ / q u a n t i d a d ed ep a r e sd oo b j e t o

Abaixo segue uma sugesto de como dispor os objetos no formulrio e o resultado do boto Iterar JSONArray .

www.devmedia.com.br/articles/viewcomp_forprint.asp?comp=17140

1/2

23/04/13

Verso para impresso: TRABALHANDO COM TIPOS JSON NO DELPHI 2010 - PARTE 3

Salve o projeto. Pressione F9 para compilar e executar o projeto. Clique no boto Iterar JSONArray e observe o resultado. Abrao e at a prxima.

por DELMAR WICHNIESKI (VIDE OBSERVAO)


Tcnico em processamento de dados pela SETREM de Trs de Maio - RS (94-96) Bacharelado em Informtica pela UNIJUI de Iju - RS (97-00) Trabalha h 10 anos com engenharia de sistemas cliente/Servidor D3, D4 e D7. SQL, SQLs aninhadas e otimizao de SQL, Firebird 1.5 ao 2.1.3. Gesto escolar, processos de produo em farmcias de manipulao, Procedimento Operacional Padro POP para controle de estoque, processos de compra e venda, pedidos de compra e venda, nota fiscal modelo 1 e 1A, Nota Fiscal Eletrnica, automao OLE (Excel e word), migrao e importao de dados, anlise de sistemas, documentao, Entidade-Relacionamento, restries de Integridade Referencial. Tambm j compilou kernel de linux, instalou muitas distros e montou com conectiva linux uma intranet com 10 PCs usando estaes diskless e boot remoto via EPRON. Em breve mais www.devmedia.com.br/articles/viewcomp.asp?comp=17140

www.devmedia.com.br/articles/viewcomp_forprint.asp?comp=17140

2/2