24

現在、新しいアプリケーションを計画しておりAPI、交換に使用するさまざまなデータ形式について議論しています。CSVJSONおよびの相対的なメリットについては、かなり激しい議論が行われていXMLます。

基本的に、この議論の要点は、CSV再帰がない (つまり、すべての を取得する必要があるドキュメントを持っているmultiple authors)multiple referencesmultiple API callsinformationため、サポートする必要があるかどうかです。

からの情報を操作したときの経験Web APIsや、API.


私たちの決定:

単一の論理操作に対して複数の呼び出しが必要な再帰の難しさから、XMLandを提供することにしました。にはパーサーが含まれておらず、実装もないようです。JSONCSVJSONQtProtocol Buffersnon-alpha PHP

4

6 に答える 6

24

利点:

  • XML - 多くのライブラリ、開発者は使い慣れている、XSLT、クライアントとサーバーの両方で簡単に検証可能 (XSD、DTD)、階層データ
  • JSON - クライアント側で簡単に解釈、コンパクトな表記、階層データ
  • CSV - Excel(?) で開く

短所:

  • XML - 肥大化し、JSON よりも JavaScript の方が解釈しにくい
  • JSON - 不適切に使用すると、セキュリティ ホールが発生する可能性があります (eval を使用しないでください)。すべての言語にそれを解釈するためのライブラリがあるわけではありません。
  • CSV - 階層データをサポートしていません。それを行うのはあなただけです。実際には、ほとんどの開発者が有効な csv ファイルを解析すると考えるよりもはるかに困難です (CSV 値には、引用符で囲まれている限り、新しい行を含めることができます)。

上記を考えると、私はわざわざ CSV をサポートするつもりはありません。本当に必要な場合、クライアントは XML または JSON から生成できます。

于 2008-09-26T11:55:07.250 に答える
19

CSVはすぐに出てきます。JSON は XML よりもコンパクトなオブジェクト表記であるため、大量のコンテンツを探している場合は有利です。XML は市場に広く浸透しており (私はこの言葉が大好きです)、すべてのプログラミング言語とそのコア フレームワークでサポートされています。JSON がそこに到達しています (まだ存在しない場合)。

個人的にはブランケットが好きです。json よりも xml データの操作に慣れている開発者の方が多いに違いありません。

于 2008-09-26T11:47:05.023 に答える
3

XML は、少し重い場合があります。JSON は非常に優れていますが、適切な言語サポートがあり、JSON データは多くのプレイフォームでネイティブ オブジェクトに直接変換できます。

于 2008-09-26T11:48:06.987 に答える
2

CSV には、複雑なデータ モデルとして非常に多くの問題があるため、私は使用しません。XML は非常に柔軟で、プログラミングが簡単です。クライアントは、XML ジェネレーターとパーサーを問題なくコーディングできます。SAX を使用してサンプル パーサーを提供することもできます。

Google のネットワーク データ形式を確認しましたか? それはプロトコルバッファと呼ばれます。ただし、HTTP レイヤー全体もスキップするため、REST サービスに役立つかどうかはわかりません。

于 2008-09-26T11:47:32.197 に答える
1

私はJSONの経験がありません。CSVは、データが非常に表形式で均一に構造化されている時点まで機能します。特にオブジェクトへのバインディングを自動的に作成するツールがない場合、XMLはすぐに扱いにくくなる可能性があります。

私もこれを試していませんが、Googleのプロトコルバッファは非常に見栄えがよく、シンプルな形式で、C ++、Java、Pythonへの自動バインディングを作成し、作成されたオブジェクトのシリアル化と逆シリアル化を実装します。

于 2008-09-26T12:24:53.997 に答える