sérialisation de données
-
21-09-2019 - |
Question
J'ai une application Objective-C / cacao que je travaille. Cette application est client <-> serveur. À l'heure actuelle, le protocole de communcation est basé sur une XML assez simple. Alors que XML fonctionne pour cette tâche, il est idéal dans tous les aspects. Il est une douleur de sérialisation des données au format XML, ce n'est pas particulièrement léger et difficile à intégrer des informations non données. (Par exemple: « faire suivant ») dans
Je cherche des suggestions pour une solution de rechange.
J'ai pris en compte certains de ceux énumérés , mais ne l'ai pas décidé tout. Suggestions?
La solution
J'utilise JSON pour une application iphone -. Je préfère généralement XML, mais nous avions besoin très léger, donc nous avons décidé JSON
Si votre travail avec XML, vous devriez jeter un oeil à XPath si vous ne l'avez pas déjà -. Il vous donnera un pouvoir énorme pour extraire les valeurs d'une structure de données XML
Autres conseils
Si vous parlez à un serveur Objective-C vous pouvez regarder dans le codage et le décodage avec les méthodes de sérialisation préférées disponibles en Objective-C.
NSKeyedArchiver
et NSKeyedUnarchiver
Fondamentalement, vous obtiendrez un NSData
du NSKeyedArchiver
que vous enverrez (octets / longueur) à l'autre partie et placez-y revenir dans un NSData
et utiliser NSKeyedUnarchiver
pour décompresser en objets à nouveau.
Quel type de serveur avez-vous? Si le serveur est basé sur Java, je vous recommande de regarder HessianKit par Fredrik Olsson. Coder / Décoder aux types Objective-C ordinaires et mis en NSArrays et NSDictionaries feront l'expérience plus lisse.
Quel est le problème avec (Portable) objets distribués ?