web-dev-qa-db-ja.com

Objective-C用のJSONパーサーの比較(JSON Framework、YAJL、TouchJSONなど)

私の知る限り、Objective-Cには3つのJSONパーサー、 JSON Framework[〜#〜] yajl [〜#〜] 、および JSON をタッチします。次に、これら3つには独自の特性があります。

例えば:
YAJLは、SAXスタイルのパーサーとして使用できます。
JSONフレームワークには比較的長い歴史があり、広く使用されています。
Touch JSONはNSStringではなくNSDataを解析します。

さらに、テストした限りでは、パフォーマンス比較の結果は次のとおりです。
[fast]YAJL> JSON Framework> Touch JSON[slow]。

これらのJSONパーサーの長所と短所を知っている場合、教えてもらえますか?
最後に、他のJSONパーサーを知っている場合は教えてください。

141
tomute

速度を探しているなら、 JSONKit を見てください。これは(通常)既に述べたJSONライブラリよりもはるかに高速で、多くの場合1桁高速です。また、「最近インスタンス化されたオブジェクトキャッシュ」であるため、(通常も)使用するメモリも少なくなります。

59
johne

私が行った比較 を考慮すると、最速のライブラリはJSONKitであり、NSJSONSerialization(現在はパブリックAPI)とNextiveJSONが続きます。 SBJSONとTouchJSONは、以前の3つのライブラリよりも少し遅いです。

比較は、iOS 5.0.1を搭載したiPhone 4Sを使用して行われました。

12
bontoJR

this parser :もあります。

私はこれにつまずいた方法を覚えていませんが、軽量でシンプルに見えたので、私はそれが私のニーズに合っていると思いました。 NSDataから初期化を追加するために、イベントをフォークしました。小さな応答を解析する必要があるため、パフォーマンスについては気にしませんでした。それがどのように機能するかを知ることは興味深いでしょう。

5
Roman

JSONKitはYAJLよりも速く、YAJLはTouch JSONよりも速く、IOS5クラスのNSJSONSerializationクラスははるかに速いと思います。 NSJSONSerialization サードパーティAPIを使用する必要はありません。

3
Arvind

この投稿 を見てください。 <30文字>

2
berec

NSObjectからJSONへ、またはその逆へのシリアライザーを探している場合は、チェックアウトしたい場合があります OBJC JSONSerializer

さまざまな種類のパーサーを比較するパーサーに関するakosmaのベンチマークをご覧ください。 1つのパーサーが欠落している場合、そのコードはオープンソースなので、テストに追加することもできます。

iPhoneWebServicesClient

0
codeclash