1. ホーム
  2. xml

[解決済み】googleプロトコルバッファ vs json vs XML【終了しました

2022-04-05 13:11:30

質問

のメリット・デメリットを教えてください。

  • Googleプロトコルバッファー
  • JSON
  • XML

PerlとJavaの2つのアプリケーションに1つの共通フレームワークを実装したい。そこで、PerlとJavaの両方の技術で使用できる共通のサービスを作成したいと思います。

どちらもWebアプリケーションです。

この件に関するあなたの貴重な意見&提案を教えてください。私はgoogleで多くのリンクを見たが、すべてが複雑な意見を持っています。

解決方法は?

Json

  • 人間が読める/編集可能
  • スキーマを事前に知らなくてもパースすることができる
  • 優れたブラウザサポート
  • XMLより冗長でない

XML

  • 人間が読める/編集可能
  • スキーマを事前に知らなくてもパースすることができる
  • SOAPなどの標準
  • 優れたツールサポート(xsd, xslt, sax, dom, etc)
  • かなり冗長

プロトブーフ

  • 非常に高密度なデータ(出力が小さい)
  • スキーマを知らないと堅牢なデコードが難しい(データフォーマットが内部的に曖昧であり、スキーマで明確にする必要がある)。
  • 非常に高速な処理
  • 人間の目には見えない(高密度なバイナリ)

いずれも、ほとんどのプラットフォームで良好なサポートが得られます。

個人的には、最近はXMLを使うことはほとんどありません。消費者がブラウザや公開APIであれば、私はjsonを使うことが多いですね。内部APIでは、パフォーマンスのためにprotobufを使うことが多いですね。公開APIで両方を提供する(ヘッダ経由か、別のエンドポイント)のも効果的です。