206 votes

Quelle est la meilleure bibliothèque JSON à utiliser pour développer une application iPhone ?

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 ?

4voto

Dev Points 1948

Juste pour clarifier pour les futurs lecteurs, json-framework et SB-JSON sont la même chose. Veuillez me corriger si je me trompe.

4voto

uvesten Points 2616

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.

2voto

Lee Points 623

J'ai utilisé le json-framework de google code. Il a très bien fonctionné pour moi.

2voto

ImHuntingWabbits Points 3171

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.

SBJSON : http://code.google.com/p/json-framework/

YAJL : http://lloyd.github.com/yajl/

1voto

mythz Points 54874

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.com

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.

Powered by:

X