iPhone App / JSON – publicação de dados em database remoto

Eu tenho um aplicativo para iPhone que usa ASIHTTPRequest para postar dados em um arquivo php, que então usa sql para atualizar o database de acordo.

O que está me incomodando é que eu continuo lendo que eu deveria codificar meus dados publicados no formato JSON. Alguém pode me explicar o ponto nisso? Por que devo codificar no formato JSON? Quais são os benefícios, as necessidades para este …

EDITAR:

Veja como eu estou postando meus dados:

-(void) postToDB:(NSString*) msg{ NSString *myphp = @"http://localhost:8888/databases/test.php"; NSURL *url = [NSURL URLWithString:myphp]; ASIFormDataRequest *request = [ASIFormDataRequest requestWithURL:url]; [request setPostValue:msg forKey:@"message"]; [request setDelegate:self]; [request startAsynchronous]; } 

Encapsular seus dados em uma estrutura JSON ajuda a criar um protocolo de comunicação estruturado com seu servidor. Sem ir tão longe quanto isso, dependendo de suas necessidades, veja as especificações para JSON-RPC, por exemplo. Isso permite que você tenha um protocolo totalmente definido para trocar dados, onde os methods são sempre passados ​​da mesma maneira, os erros sempre são retornados da mesma maneira.

O uso de JSON, JSON-RPC, SOAP ou qualquer outro “envelope” é, estritamente falando, nunca obrigatório. É apenas uma boa prática de padronizar as comunicações sobre os fios.

Além disso, não sei se setPostValue:ForKey: escapa automaticamente de caracteres quando necessário, mas imagine que você está enviando um GET para http: //whatever/get.php? Nickname = nick & com? Special @ chars & password = qzerty . o que acontece aqui? seu script PHP não poderá analisar os campos “apelido” e “senha” corretamente. Encapsulando seus dados no JSON com a ajuda de uma estrutura JSON (você pode transformar um dictionary NSString em uma estrutura JSON sem falhas em uma única linha de código) ajuda a evitar esse tipo de situação.

Eu vejo isso como virilmente separando o database de seu aplicativo. Se você usa JSON em vez de apenas SQL direto, ele lhe dá a possibilidade de alternar bancos de dados e criar novas visualizações. Por exemplo, você fica doente do MYSQL e quer experimentar um desses novos NOSQL db como o Mongodb, em vez de rewrite todo o seu aplicativo para iphone, é difícil rewrite um script php. Outro exemplo seria se o seu aplicativo fosse bom e você quer criar e versão Android, ou uma versão web, o JSON torna isso mais fácil, basta instalar uma biblioteca JSON e você vai embora!

    Intereting Posts