web-dev-qa-db-ja.com

Java / C / C ++でのXMLパーサーとJSONパーサーのパフォーマンス

私はREST AP​​Iを介してサーバーと通信する組み込みデバイスでどのデータ形式が優れているかを理解しようとしています。 XMLまたはJSON?。 JSON解析はJava/CおよびC++でのXML解析より高速ですか? JavaスクリプトにはJSONのサポートが組み込まれているため、WebクライアントではJSONが適していると理解していますが、組み込みデバイス(Java/C/C++)については不明です。

6
Farm

XMLは、単にメッセージを逆シリアル化するだけでなく、何かメッセージを処理する必要がある場合(たとえば、XPath式を使用してルーティング情報や処理情報をそこからプルする必要がある場合)に適しています。 XMLは、いくつかの追加の検証ツール(スキーマ検証など)を提供し、メッセージをアーカイブし、後で再度処理する必要がある場合に、より意味があるかもしれません。ただし、トランスポート形式だけが必要な場合は、特に処理作業の大部分がクライアントで行われる場合は、JSONを使用するほうがよいでしょう。

4
TMN

コンテンツに多くのタグがあり、コンテンツが少ない場合、メッセージのサイズが小さくなるため、ネットワークにはJSONが適しています。逆が真であり、コンテンツが多く、タグが多くない場合、JSONはメッセージサイズの利点をいくらか失います。

解析についてはわかりません。私は、アプリケーションが使用するのと同じXML/JSONサンプルデータをロードし、使用する予定のパーサーを介してそれらを実行し、どれがより優れているかを確認します。

使用しているパーサーが何らかの種類のオブジェクトモデルにXML/JSONをロードする場合、パフォーマンスはほぼ同じになりますが、簡単なテストで、解析速度に実際の違いがあるかどうかを確認できます。

3
Jon Raynor