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:

  1. Copie a pasta JSON para a raiz do seu projeto;

  2. No Xcode, adicione a pasta;

  3. 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;

  4. 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!

Ao navegar neste site, você consente o uso de cookies nossos e de terceiros, que coletam informações anônimas e são essenciais para melhorar sua experiência em nosso site.