6

私のアプリでは複数の Google API を使用しています。それらすべてのドキュメントでは、次の 2 つのオプションが提供されています。

  • JSON (推奨)
  • XML

では、リクエストを送信してレスポンスを取得する場合、なぜ JSON の方が優れているのでしょうか? Xcode にはネイティブに組み込まれた xml パーサーがあり、JSON の場合は AFNetworking などの JSON パーサーを使用する必要があります。JSON が際立っている理由は何ですか? それはより効率的ですか、それともより高速ですか?

4

4 に答える 4

3

同じオブジェクトの JSON 表現と XML 表現のサイズを比較すると、JSON の方がはるかに小さいです。

そのため、ネットワーク (インターネットなど) を介してデータを転送するために使用する場合は、JSON を使用する方がはるかに効率的です。

また、XML よりも実装と使用が簡単な標準であるため、処理と解析が容易です (つまり、CPU オーバーヘッドが少なくなります)。

ほとんどのアプリケーションでは、より高度な XML の使用は必要ないため、JSON は優れた代替手段です。

于 2012-10-18T13:31:05.333 に答える
2

JSON はサイズが小さく、XML よりも少ないオーバーヘッドがあります。

はい、XML は で解析できますNSXMLParserが、これは SAX パーサーであるため、優れたパーサーを構築するにはより多くのコード行が必要です。

また、iOS 5 JSON はネイティブに利用可能であるため、NSJSONSerialization

AFNetworkingは JSON パーサーではありません。利用可能なNSJSONSerialization場合はネイティブ、そうでない場合は指定したものを使用します。

于 2012-10-18T13:31:27.553 に答える
1

JSON は、全体として JSON よりも大きい XML よりもはるかに効率的です。解析は非常に簡単で、JSON の表現を 2 行と数ミリ秒で使用NSJSONSerializationおよび解析できます。メモリの消費量が少ないことがわかります。NSData

JSON は JavaScript Object Notation の略で、Java とは異なり、JavaScript から Java への変換はハムからハムスターへの変換のようなものです。多くの人がその間違いを犯します。

于 2012-10-22T12:14:28.340 に答える
1

XML には、フリー テキスト ドキュメントをサポートするために必要なデータ型 (特に混合コンテンツ) がありますが、Javascript のようなボグ標準のプログラミング言語では簡単に処理できません。したがって、ボグ標準のプログラミング言語を使用する必要があり、フリー テキスト ドキュメントをサポートする必要がない場合は、XML を使用しないことで複雑さを回避できます。逆に、フリー テキスト ドキュメントを使用する場合は XML が必要であり、XSLT、XQuery、Linq など、簡単に処理できるように設計されたプログラミング言語を使用するのが最善です。

于 2012-10-18T14:05:30.580 に答える