1

組み込みツールだけですか?基本的に、フォーマットは xml の自動マーシャリングを妨げません。

xml と json の唯一の違いは、それぞれ [tag]HI World[/tag] から {tag:HI World} への違いです..したがって、JSON obj のサイズは半分です

右?

4

3 に答える 3

1

JSONは、Javascriptで使用されるデータ構造のシリアル化を提供します。これは、多くのプログラミング言語で見られるデータ構造と非常によく似ています。XMLは、ドキュメントのマークアップ用に設計されました。したがって、JSONはプログラミング言語が得意なものと一致するように設計され、XMLはドキュメントオーサリングのニーズを満たすように設計されました。

人々はそれがより柔軟であるため、より緩いjsonアプローチが好ましいと感じています

それどころか。JSONは柔軟性が低いため、人々はJSONの方が好ましいと感じています。Javascriptのような言語で扱いやすいことだけを行います。

于 2012-06-16T13:21:30.840 に答える
1

必ずしも簡単ではありません。完全なJSONパーサーの実装は、XMLドキュメントの実装と同じくらい複雑になる可能性があります。確かに、JSON文字列のサイズは、明らかな理由により、ほとんどの場合、同等のXMLよりも小さくなっています。

ただし、データ転送形式としてXMLのJSONを選択するかどうかは、基盤となるテクノロジー(JavaScriptからJavaScript、サーバー、またはその逆)によって異なります。他の場合、たとえばデータがすでにXMLとして存在する場合、データをどこかに(RESTサービスなどに)送信できるようにするためだけにJSONに変換するのはあまり効率的ではありません。

したがって、これは簡単な選択です。使用しているテクノロジーで最もよくサポートされているものを選択してください。JavaScriptとの間で処理するためのJSONおよびSOAPWebサービス用のXML、またはデータがすでにXMLになっている場合。

于 2012-06-15T18:43:02.587 に答える
1

JSONのルーツはJavascriptにあります。これは、緩い型付けの動的言語です。すべてのデータ項目は「緩く型付け」されています。つまり、ランタイムシステムは、文字列、配列、整数、オブジェクト、関数のいずれであるかをあまり気にしません。変数は「何か」を保持し、変数を使って何かをしようとしたときに型が決定されます。

したがって、JSONパケットの逆シリアル化は非常に簡単です。デシリアライズされる表現は、文字列または数値のいずれかです。

一方、XMLの場合、XMLスキーマ標準は、整数、浮動小数点数、文字列などの基本的なものだけでなく、dateTime、date、さらにはそれらの順序付けられたシーケンスなどのより複雑な派生型を含む、いくつかの特定のデータ型を設定します。それらのものの配列、および「ユニオン」。このXMLのものが定義されていたとき、xmlドキュメントがa。)整形式であり、b。)これらのかなり具体的なスキーマ定義の1つに従って有効であることを保証するために多大な努力が払われました。ほとんどのxmlシリアライザーは、タイピングの魔法の一部を使用します。

XMLスキーマでは、参照を指定して、XMLドキュメント内の1つのアイテムが別のアイテムを参照できるようにすることもできます。

例として、現在、stackexchange APIを使用して特定のユーザーが投稿した「質問の回答」のリストをクエリすると、アイテムのリストが返されます。各アイテムには、同じユーザーの繰り返しブロックが含まれています。それらはすべて次のようになります(擬似コード):

{ answers: [ 
  { answer_id: 98393398398
    question_id 28282828
    owner: {
     name: Cheeso
     user_id 48082
     reputation: 3093
     date_created: 110101010}
   },
  { answer_id: 28783398398
    question_id 111128828
    owner: {
     name: Cheeso
     user_id 48082
     reputation: 3093
     date_created: 110101010}
   },
   ...
] } 

しかし、XMLを使用すると、ドキュメント内の他の場所を参照できるため、次のようなものが返されます(ここでも擬似コード)。

{ users: [ ["#user1", "Cheeso", "48082", 3093 ]] ,
  answers: [ 
   { answer_id: 98393398398
    question_id 28282828
    owner: #user1 },
  { answer_id: 28783398398
    question_id 111128828
    owner: #user1},
   ...
] } 

もちろん、「ドキュメント内参照」を理解して使用するようにjsonアプリケーションを構造化することもできます。しかし、要点は、XMLの場合、それはすでにモデルの一部であるということです。

つまり、XMLのシリアル化と逆シリアル化は、実際には、JSONで同じことを行うよりも複雑になる可能性があります。

私の意見では、より柔軟で適応性があり、使いやすいので、より緩いjsonアプローチが好ましいと考えています。一方、一部のドキュメントは十分に大きいため、XMLスキーマの厳密性と形式性は非常に価値があり、jsonは緩すぎます。たとえば、OOXMLドキュメントについて考えています。

于 2012-06-15T19:02:01.840 に答える