Tutorial de análise JSON para iPhone / iOS [fechado]

103

Como experiência de aprendizado, quero fazer um aplicativo para iPhone que chame um servidor / serviço da web, recupere uma resposta JSON e use essa resposta para preencher as linhas de um UITableView(supondo que converta o JSON em um NSArrayprimeiro).

Alguém sabe de algo que possa ser útil?

Casey Flynn
fonte

Respostas:

164

Você vai adorar esta estrutura .

E você vai adorar essa ferramenta .

Para aprender sobre JSON, você pode gostar deste recurso .

E provavelmente você vai adorar este tutorial .

Todd Hopkinson
fonte
Você está absolutamente certo sobre eu amar isso também, @icnivad, muito obrigado pelo lead, é muito útil.
Casey Flynn
. O tutorial que você mencionou requer o arquivo DMG, mas não consegui encontrar nenhum arquivo DMG no Link que você mencionou para o framework. esse link direciona para o github e contém um arquivo zip com várias classes e exemplos, mas não entendo qual parte preciso inserir no meu projeto. Você pode por favor me ajudar?
alekhine
2
Sim, esse projeto mudou para o github. Obtenha aqui: github.com/stig/json-framework .
Todd Hopkinson
Você provavelmente também vai adorar hurl.it
Caspar Harmer
Aquela coisa do SBJson seria legal se fosse construída. Falha para mim com 44 erros no Xcode 4 no OS X Lion.
Sarah Vessels
57

A partir do iOS 5.0, a Apple fornece a classe NSJSONSerialization "para converter JSON em objetos Foundation e converter objetos Foundation em JSON". Sem frameworks externos para incorporar e de acordo com benchmarks seu desempenho é muito bom, significativamente melhor do que SBJSON.

darrinm
fonte
Isso é ótimo, desde que não se planeje oferecer suporte ao iOS 4 e versões anteriores.
Sanjay Chaudhry
18
Já que estamos em 2012 e o iOS6 é iminente - é mais provável que seja o caso.
Abizern
1
E o resultado do benchmark é "404 Not Found".
Pang
Alguns benchmarks atualizados, mostrando NSJSONSerialization como o mais rápido: stackoverflow.com/questions/16218583/jsonkit-benchmarks
darrinm
6
SBJSON *parser = [[SBJSON alloc] init];

NSString *url_str=[NSString stringWithFormat:@"Example APi Here"];

url_str = [url_str stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];

NSURLRequest *request =[NSURLRequest requestWithURL:[NSURL URLWithString:url_str]];

NSData *response = [NSURLConnection sendSynchronousRequest:request  returningResponse:nil error:nil];

NSString *json_string = [[NSString alloc] initWithData:response1 encoding:NSUTF8StringEncoding]

NSDictionary *statuses = [parser2 objectWithString:json_string error:nil];

 NSArray *news_array=[[statuses3 objectForKey:@"sold_list"] valueForKey:@"list"];

    for(NSDictionary *news in news_array)
{

    @try {
        [title_arr addObject:[news valueForKey:@"gtitle"]];    //values Add to title array

    }
    @catch (NSException *exception) {

        [title_arr addObject:[NSString stringWithFormat:@""]];
    }
Chandrika
fonte
Obrigado por fornecer um exemplo de código!
Flea de
4

experimente com este JSONKit de estrutura JSON mais rápido . é mais rápido do que o framework JSON normal.

Hiren
fonte
1
Você está certo, isso é muito rápido!
Ivan Fioravanti
O melhor framework JSON +1
1

Aqui está um link para meu tutorial, que o orienta através de:

  • criar um JSON WCF Web Service do zero (e os problemas que você deseja evitar)
  • adaptando-o para ler / escrever dados do SQL Server
  • obter um aplicativo iOS 6 para usar os serviços JSON.
  • usando os serviços da web JSON com JavaScript

http://mikesknowledgebase.com/pages/Services/WebServices-Page1.htm

Todo o código-fonte é fornecido gratuitamente. Aproveitar.

Mike Gledhill
fonte