6

json解析の長所と短所は何ですか? 開発者が xml 解析よりも json を使用することを好むのはなぜですか?

4

2 に答える 2

10

ジョン...

XML に比べてオーバーヘッドが小さい - XML の終了タグにより、ボイラープレート コードのサイズが約 2 倍に増加します。

{
  "key": "value",
  "other key": 3.1415926535897932,
  "arr": [
    1,
    2,
    3
  ]
}

<?xml version="1.0"?>
<!-- not to mention the DTD declaration -->
<myXmlFormat>
  <key>value</key>
  <otherKey>3.1415926535897932</otherKey>
  <arr>
    <number>1</number>
    <number>2</number>
    <number>3</number>
  </arr>
</myXmlFormat>

解析がより簡単で高速です (より軽量であるため) - 同じプログラミング言語の XML パーサーよりも小さくて高速な JSON パーサーが多数あります (libxml2 と js0n を検討してください)。

JSON のデータ型には、文字列、整数、実数、配列、キーと値のテーブルなど、従来「プリミティブ」と見なされていたデータ型への 1:1 マッピングもあります。さらに、これらのプリミティブ データ型は、Foundation に組み込まれているため、簡単に使用できます。上記の JSON は、文字列に対応する "key"、"other key"、および "arr" をキーとして含む NSDictionary に簡単に解析できます。 「値」、それぞれ NSNumber および NSArray としての pi。一方、XML についても考慮する必要があります。XML で記述された独自のデータ構造を表すカスタム クラスを作成する必要があるかもしれません。

具体的には iOS プラットフォーム向けです。Cocoa のネイティブ XML パーサーである NSXMLParser は、直感に反するものではありません。iOS の Foundation フレームワークには、Mac OS X の Foundation の NSXMLNode クラスが含まれていないため、開発者は独自のスパゲット コードを記述して、すべての XML を何らかの構造化データにラップする必要があります。含まれているものを使用します。

于 2012-08-22T07:10:23.563 に答える
2

XML

利点

  • XML の最も重要な利点は、他の人間にとって最も読みやすい形式であることです。

  • 2 つ目の利点は、XML がかなり前から存在しており、多くの開発者が既に XML に慣れていることです。

短所

  • データを HTML ページに挿入するために必要な JavaScript は非常に冗長です。

JSON

利点

  • 最も重要な利点は、JSON ファイルを新しいタグとしてインポートすると、JSON が JavaScript の同一ソース ポリシーを回避できることです。詳細については、Simon Willison の例を参照してください。JavaScript では、別のサーバーからのドキュメント (XML または HTML) にアクセスすることはできません。ただし、JSON ファイルをスクリプト タグとしてインポートすると、この問題を回避でき、任意の JSON データを任意の Web サイトにインポートできます。これが良いことか悪いことかは、ビジネスの目標によって異なりますが、現時点では、無制限にアクセスできる唯一のデータ形式です。

  • 2 つ目の利点は、JSON データ用のスクリプトは、XML データ用のスクリプトよりも若干単純であり、JavaScript 言語の残りの部分と少し一致していることです。

短所

  • JSON の最も重要な欠点は、形式が人間にとって非常に読みにくいことと、もちろん、すべてのカンマ、引用符、括弧が正確に正しい場所になければならないことです。これは XML にも当てはまりますが、データ スニペットの最後の }}]} のような複雑に見える構文の JSON のウェルターは、初心者を怖がらせ、複雑なデバッグを引き起こす可能性があります。

コメントから、JSON は XML よりも処理が速いと考えられています。

于 2012-08-22T07:29:01.993 に答える