06 Set, 2010 16:09
Usando JSON em seus projetos iPhone
Primeiros passos
Para começar a trabalhar com JSON em seu projeto, baixe o arquivo JSON.zip e depois siga os seguintes passos:
Copie a pasta JSON para a raiz do seu projeto;
No Xcode, adicione a pasta;
No target, em Get Info, na aba Build (para todas as configurações), adicione em Additional SDKs: JSON/${PLATFORM_NAME}.sdk e em Other Linker Flags: -ObjC -ljson;
Pronto. Agora você poderá usar o framework para fazer parser de JSON.
Implementação
Agora que já temos o framework configurado em seu projeto, vamos usá-lo para fazer parser de um JSON. A seguir, um exemplo de JSON:
[
{"projeto": "Cine Mobits", "descricao": "Veja os horários do cinema direto do seu celular! Disponível para a maioria dos celulares com suporte a Java, iPhone/iPod Touch e também celulares com Android."},
{"projeto": "Mobits Button Soccer", "descricao": "O clássico futebol de botão, jogo presente na infância de muitas pessoas, agora em versão para iPhone/iPod Touch."},
{"projeto": "FaxGuru", "descricao": "Envie fax direto do seu iPhone! O FaxGuru permite que você tire fotos de documentos e envie-os via fax para mais de 250 países, além de ser simples, fácil de usar e totalmente em português."}
]
Abaixo, o código de parse:
#import "<JSON/JSON.h>"
#import "Projeto.h"
@implementation ProjetosParser
+ (NSArray *)parse:(NSString *)json {
SBJSON *jsonParser = [SBJSON new];
NSArray *projetosParser = (NSArray *)[jsonParser objectWithString:json];
NSMutableArray *projetos = [NSMutableArray arrayWithCapacity:[projetosParser count]];
for (int i = 0; i < [projetosParser count]; i++) {
NSDictionary *projetoDictionary = (NSDictionary *)[projetosParser objectAtIndex:i];
Projeto *projeto = [[Projeto alloc] init];
projeto.nome =[projetoDictionary objectForKey:@"projeto"];
projeto.descricao = [projetoDictionary objectForKey:@"descricao"];
[projetos addObject:projeto];
[projeto release];
}
return projetos;
}
@end
A primeira coisa a ser feita é importar "JSON/JSON.h". Para começar a fazer o parse a partir de uma string JSON, é preciso instanciar um objeto SBJSON para conseguir ler a string e interpretá-la como JSON.
O nosso exemplo de JSON é um array de dictionaries. Logo, após fazer o parse do JSON para um array, fizemos um loop para ter acesso aos dictionaries e conseguir popular nosso array de projetos, que é o retorno do nosso método.
Pessoal, agora vocês sabem como trabalhar com JSON e XML em projeto para iPhone. Mão na massa!