3

ファイルからアプリケーションにデータをインポートする必要があります。明らかな選択肢は、XML と JSON です。JSON は軽量で、Jackson で解析すると優れたパフォーマンスが得られると聞いたことがあります。しかし、JiBX for XML は高速で、XMLpull を使用して優れたパフォーマンスを発揮するとも聞いています。どのオプションを選ぶべきか、またその理由を知りたいです。XML と JiBX、JSON と Jackson の速度を比較できますか? また、Google Gson が JSON 解析で Jackson よりも優れているかどうかも知りたいです。

4

3 に答える 3

2

Json は軽量です。大きなドキュメントを使用する場合は、Json with Jackson を使用します。

この記事で優れた説明が提供されています(特に注意を読んでください:)。あなたが持っているxml

DOM、PULL、SAX などのさまざまなタイプがありますが、私の知る限り、JSON が最適です。大型用

ドキュメントは、Jackson を優先します。http://www.javabeat.net/2011/05/androids-json-parser/

ジャクソンとグソンのために。このリンクをちらりと見てください。

ジャクソン対。Gソン

したがって、xml と json を比較するときは、android の軽量データであるため、常に json を使用することをお勧めします。そのため、データの読み込みと表示が高速になります。そしてグソン、

プロジェクトによって異なります。上記リンク比較をご覧ください。

于 2013-01-25T10:14:13.333 に答える
0

純粋なパフォーマンスでは、JSON が JiBX よりも高速になることに同意します。

ツールの選択は、転送するデータによって異なります。

具体的なデータ定義がある場合は、JiBX を使用します。JiBX は、複雑なデータ オブジェクトの作成と取得に特に優れています。JiBX は、データが正しいことを確認し、Java オブジェクトとの間でデータを自動的に変換します。

より柔軟性が必要な場合は、JSON を使用してください。JSON は、データが正しいかどうかを確認しません。

たとえば、JiBX でオブジェクトを作成する場合:

Person person = new Person();
person.name = "Don";
person.age = 52;

JiBX で情報を取得する場合:

System.out.println("Name: " + person.name);
System.out.println("Age: " + person.age);

JSON では、コードは次のようになります。

JSONObject person = new JSONObject();
person.put("name", "Don");
person.put("age", new Integer(52));

送信された情報を取得するには:

String name = person.get("name");
long age = person.get("age");

ご覧のとおり、JiBX コードの方が読みやすくなっていますが、スキーマ定義がないため、JSON の方が柔軟です。

どちらのソリューションでも、コードは Android クライアントと Java サービス/サーバーでまったく同じです。

これが役立つことを願っています。

Don Corley - JiBX 寄稿者

于 2013-01-26T10:03:48.187 に答える
0

さらに、Jackson は必要に応じて XML も実行できます。https://github.com/FasterXML/jackson-dataformat-xmlを使用します。

また、Jackson+JSON がどの XML ベースのソリューションよりも高速であることに同意します ( https://github.com/eishay/jvm-serializersに従って)。JibX は悪くなく、おそらくほとんどの用途で十分に高速です (他の多くのオプションと同様)。しかし、スピードがあなたのものなら、ジャクソンはあなたが言及した選択肢よりも速いでしょう.

于 2013-01-25T19:11:09.237 に答える