2009-10-16 9 views

答えて

5

JSONは、通常、XMLよりも効率的なデータエンコード方式です。これは、ダウンロード時間がアプリケーションにとって重要な場合は重要です。

もう1つの考慮点は、E4Xクエリ構文が特定の用途に魅力的な利点があるかどうかです。単一のクエリ行の結果を反復処理して、必要な処理を行うことができ、解析されたJSONに介入するときに同等のActionScriptコードが長くなる可能性があります。

また、Flashアプリケーションがブラウザに存在し、ページ上の他のものと通信する必要があるなど、このアプリケーションがJavaScriptコードとやり取りする必要があるかどうかを検討します。もしそうなら、ブラウザJS(現代のJS 1.8 E4Xとは対照的に)を扱うXMLはJSONを扱うよりもはるかに難しいので、私はJSONに行きます。

2

XMLは多数のデータです。 90%のハイパーテキストと10%のデータです。

  1. それは小さいです:

    JSONは、ここでは2つの主要な利点があります。つまり、帯域幅が少なくなる(応答時間が改善され、AJAXにとって優れています)

  2. これはJavaScriptのサブセットです。つまり、必要なのは、

    のようなeval

    result = eval(resultStr); var age = result.clients[2].age;

私はdefinetely JSONは星いくつ。

+5

eval()を使用してJSONを解析すると、セキュリティ上のリスクが発生します。データソースを信頼できると確信している場合にのみ実行してください。それ以外の場合は、他の人がアプリケーションにコードを挿入する手段を提供します。あなたはXSS、子供たちと言うことができますか?私はあなたができると思った。 –

1

JSONとはJavaScript Object Notation ... JSONの明確な利点は、ECMAScript(ActionScriptを含む)のオブジェクトセマンティクスをキャプチャしていることです... E4Xは何とかActionScript内でXMLオブジェクトを気持ちよくすることができます。

もし私が<node attribute="value"><child/><node>を持っていれば、私は本当に言うことができません、それは... childですか?それは長さ1の配列へのエントリですか?どのようにノード名nodeを評価しますか?

JSON文字列は匿名のActionScriptオブジェクトを表し... XMLは...

それとは別に、出回っ述べた利点がありません。それは、より小さく、より軽量である...と決定的1

...これはXMLの場合ではないです... attrib="123"が文字列 123または truefalsenullための整数 123 ...同じことを意味するかもしれません...それは、数値やブール値をキャプチャすることができ、あるJSONについての利点
2

さらに別の大きな利点は、解析速度です。大量のxmlの解析は、特にE4Xでは非常に遅く、さらにモバイルデバイスでは非常に遅いです。私は、xmlの代わりにjsonを使用して同じデータを表す約10倍の速度増加を観察しました。この場合、データは圧縮された1.5 MBのzipでした。

関連する問題