2011-11-14 10 views

答えて

34

GSONはオブジェクト定義を使用して、目的のタイプのオブジェクトを直接作成できます。 JSONObjectを手動で解析する必要があります。それは主な違いです。

4

他の人が言ったように、GSONPOJOへのマッピングJSONがはるかに簡単にする必要がありますが、最新バージョンGSON(私が書くように、2.2.2)は、最新のAndroid API 17(アンドロイド4.2)との深刻な問題があります。詳細については、

チェックこれを:http://code.google.com/p/google-gson/issues/detail?id=496

あなたは今、新しいプロジェクトをやって、そしてそれは、Android 4.2と互換性を持つようにしたいされている場合は、どちらかGSON古いを使用する(1.7.1には、Android 4.2で正常に動作しているが、より遅い)、または別の解決策を見つけることができます。

1

も正しいと言われて何ティム、

Gsonは、JSONは、Android上で解析するための最良のAPIです。バイナリサイズ(200 KiB未満)は非常に小さく、高速データバインディングを行い、使いやすいAPI を持っています。 Androidの組み込みJSONライブラリも優れています。多くのJSONを実行しておらず、 データバインディングが必要ない場合は、 を使用する必要があります。

0

Androidの上の2つのJSON APIがあります

org.jsonは、単純な、ツリー形式のAPIです。最大の弱点は、 は、 を解析する前にJSON文書全体を文字列に読み込む必要があることです。大きなJSON文書の場合、これは非効率的な場合があります。 http://developer.android.com/reference/org/json/package-summary.html

android.util.JsonReader/JsonWriterは、低レベルのストリーミングAPIです。 彼らは効率的ですが、データバインディングをしないので、これらを使用するには、 ボイラープレートコードを書く必要があります。 Android 3以降でのみ使用できます。 以前のバージョンのAndroidでは、Gsonのストリームパッケージに同じAPIがスタンドアロン として用意されています。 http://developer.android.com/reference/android/util/JsonReader.html

GsonのJsonReaderとJsonWriter は、AndroidのJsonReader とJsonWriter由来しています。私は文字通りAndroidから Gsonにそれらをコピーして貼り付け、1つを最適化するか、または を他の人と同期させておきます。

+3

'org.json'実装の最大の弱点は、' JSONException'です。 JSONのすべてのものの周りに 'try/catch'ブロックを置くだけでは便利ではありません。 – aroth

+0

貴重なコメントを追加してくれてありがとう@aroth。 – Mubarak