Serialização de dados
-
21-09-2019 - |
Pergunta
Eu tenho um aplicativo Objective-C/Cocoa em que estou trabalhando. Este aplicativo é cliente <-> servidor. Atualmente, o protocolo de comunicação é baseado em alguns XML bastante simples. Embora o XML funcione para esta tarefa, não é ideal em nenhum aspecto. É uma dor serializar dados ao XML, não é particularmente leve e difícil incorporar informações não-dados (como: 'Faça isso próximo').
Estou procurando sugestões para uma alternativa.
Eu considerei alguns dos listados aqui, mas não decidi. Sugestões?
Solução
Estou usando o JSON para um aplicativo para iPhone - normalmente preferiria o XML, mas precisávamos dele muito leve, então decidimos no JSON.
Se você estiver trabalhando com XML, você deve dar uma olhada no XPath, se ainda não tiver - ele fornecerá um tremendo poder para extrair valores de uma estrutura de dados XML.
Outras dicas
Se você estiver conversando com um servidor Objective-C, poderá procurar codificação e decodificação com os métodos de serialização preferidos disponíveis no Objective-C.
NSKeyedArchiver
e NSKeyedUnarchiver
Basicamente, você vai conseguir um NSData
de NSKeyedArchiver
que você enviará (bytes/comprimento) para a outra parte e a colocará de volta em um NSData
E use NSKeyedUnarchiver
Para descompactá -lo em objetos novamente.
Que tipo de servidor você tem? Se o servidor for baseado em Java, eu recomendo olhar Hessiankit Por Fredrik Olsson. Codificar/decodificar para os tipos de objetivos comuns e colocar nsarrays e nsdictionaries tornará a experiência mais suave.
O que há de errado com (Portátil) Objetos distribuídos?