AndroidにはJSONパーサーが組み込まれていることは知っていますが、パフォーマンスが向上するもの(Jacksonなど-http://jackson.codehaus.org/を参照)を使用する価値があるかどうか疑問に思っていました。誰かがそれを試しましたか?
5 に答える
API 11 以降、Androidにはストリーム json パーサーがあります。
遅い答えですが、それでも役立つかもしれません。Twitter から JSON を解析Maps
し、データベースに永続化するために Jackson を使用しています。Jackson のデータ マッピングは素晴らしいものです。JSON をオブジェクトに直接マップできることは素晴らしいことであり、すべてが非常にきれいになります。
単純な応答データ マッピングのみを解析している場合でも、コードをよりクリーンに (そしてより効率的に) することができます。私にとっては、あらゆる種類の Twitter api 関数の解析ロジックを記述する必要がないという天の恵みです。
jackson json を使用して、json-rpc 経由でサーバーと通信する Android アプリケーションを実装します。json-rpc のリクエストとレスポンス、およびオブジェクトをシリアライズ/デシリアライズしてデータを転送するために使用したいと思います。Jackson-json の 2.0 バージョンを使用します。ビルド パスに 2 つの jar を入れました: jackson-databind-2.0.0.jar、jackson-core-2.0.0.jar、および jackson-annotations-2.0.0.jar。
補足: Android 用の json-rpc 実装はありますか。json-rpc と http トラフィックを分離するとよいでしょう。私はたくさんグーグルで検索しましたが、良いjson-rpcジェネレーター、jsonシリアライザー/デシリアライザーが見つかりませんでした。トランスポートにはandroid-queryを使用します。
これらのパーサーに関するもう 1 つの視点。2009 年の Google IO を調べていたところ、アプリ開発者向けのバッテリーの効率的な使用について非常に良い話がありました。
そのトークへのリンクは次のとおりです:リンク
現在、話によると、Android用の組み込みパーソンはツリーベースであり、これらはバッテリー寿命に関しては非効率的であると考えられています。誰かが本当にこれを調べましたか。
この議論を読むと、Jackson パーサーがすべてにおいて勝者のように見えます。バッテリー使用量の点で優れているツリーベースとは対照的に、組み込みのものとイベント/ストリームベースよりも速くなくても、ほぼ同じくらい高速です。
ただ、これについて共有して意見を求めたかっただけです。