Soweit ich weiß, gibt es drei JSON-Parser für Objective-C, JSON Framework , YAJL und Touch JSON . Dann hätten diese drei ihre eigenen Eigenschaften.
Beispiel:
YAJL kann als Parser im SAX-Stil verwendet werden.
JSON Framework hat eine relativ lange Geschichte und ist weit verbreitet.
Berühren Sie JSON analysiert NSData anstelle von NSString.
Soweit ich getestet habe, ist das Ergebnis des Leistungsvergleichs außerdem wie folgt:
[schnell] YAJL> JSON Framework> Touch JSON [langsam].
Wenn Sie die Vor- und Nachteile dieser JSON-Parser kennen, können Sie mir das sagen?
Wenn Sie einen anderen JSON-Parser kennen, sagen Sie es mir bitte.
iphone
objective-c
json
stumm schalten
quelle
quelle
Antworten:
Wenn Sie Geschwindigkeit suchen, schauen Sie sich JSONKit an . Es ist (normalerweise) viel schneller als die bereits erwähnten JSON-Bibliotheken, oft um eine Größenordnung schneller. Und aufgrund des "kürzlich instanziierten Objektcaches" wird (normalerweise) auch weniger Speicher benötigt.
quelle
In Anbetracht meines Vergleichs ist JSONKit die schnellste Bibliothek, gefolgt von NSJSONSerialization (jetzt öffentliche API) und NextiveJSON. SBJSON und TouchJSON sind etwas langsamer als die vorherigen 3 Bibliotheken.
Der Vergleich wurde mit einem iPhone 4S mit iOS 5.0.1 durchgeführt.
quelle
Es gibt auch diesen Parser :
Ich erinnere mich nicht, wie ich auf dieses gestoßen bin, aber es sah leicht und einfach aus, also dachte ich, dass es meinen Bedürfnissen entspricht. Ich habe es gegabelt, um die Initialisierung von NSData hinzuzufügen. Da ich kleine Antworten analysieren musste, war mir die Leistung egal. Es wäre jedoch interessant zu wissen, wie es funktioniert.
quelle
Ich denke, JSONKit ist schneller als YAJL und YAJL ist schneller als Touch JSON und IOS5-Klasse NSJSONSerialization-Klasse ist viel schneller. Für die NSJSONSerialisierung müssen keine APIs von Drittanbietern verwendet werden.
quelle
Schau dir diesen Beitrag an . <30 Zeichen>
quelle
Wenn Sie nach einem Serializer von NSObject zu JSON und umgekehrt suchen, sollten Sie OBJC JSONSerializer auschecken
quelle
Schauen Sie sich Akosmas Benchmarks für Parser an, in denen er verschiedene Arten von Parsern vergleicht. Wenn ein Parser fehlt, können Sie ihn auch zu den Tests hinzufügen, da sein Code Open Source ist.
iPhoneWebServicesClient
quelle