Il existe quelques bibliothèques/frames JSON disponibles pour les développeurs Objective-C, mais je voulais avoir l'avis des gourous résidents sur la meilleure, et pourquoi.
Des idées ?
Il existe quelques bibliothèques/frames JSON disponibles pour les développeurs Objective-C, mais je voulais avoir l'avis des gourous résidents sur la meilleure, et pourquoi.
Des idées ?
J'utilise touchJSON depuis un certain temps, mais j'ai remarqué qu'il avait un problème avec les sauts de ligne (du moins à partir d'une UITextView sur iOS). J'ai pensé à essayer de le corriger, mais j'ai abandonné car le code de remplacement des caractères dans TouchJSON essaie d'être trop intelligent pour son propre bien.
Passage à json-framework. Cela a pris 10 minutes, et il gère correctement les sauts de ligne. Mon vote est pour json-framework.
J'ai utilisé à la fois SBJson (mentionné ci-dessus) et YAJL dans des projets. SBJSON est un analyseur syntaxique simple et facile à utiliser, j'ai trouvé qu'il était facile à intégrer mais ses performances sont inférieures à celles de YAJL.
L'implémentation de YAJL est dotée d'une coercition de type assez efficace (les entiers, les flottants, les bools, etc. se transforment en NSNumbers), d'un modèle d'analyse syntaxique rapide et événementiel (style sax). L'analyse syntaxique pilotée par événement a été une grande victoire lorsqu'il s'agit de traiter des ensembles de données plus importants.
En fait, je viens de terminer le développement d'un très rapide JsonSerializer ( benchmarks ici ) qui supporte également Mono (la raison principale pour laquelle je l'ai écrit). Il n'utilise pas de Reflection.Emit, il y a donc de fortes chances qu'il s'exécute simplement dans MonoTouch. Si j'ai le temps, je prévois de vérifier qu'il fonctionne dans MonoTouch la semaine prochaine.
Exemple de base
var customer = new Customer { Name="Joe Bloggs", Age=31 };
var json = JsonSerializer.SerializeToString(customer);
var fromJson = JsonSerializer.DeserializeFromString<Customer>(json);
En attendant, vous pouvez consulter ces exemples concrets qui sont hébergés sur CentOS/Nginx/Mono FastCGI.
EDIT : BTW J'ai maintenant vérifié et c'est effectivement le cas. travailler avec MonoTouch .
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.