2

Javascript オブジェクトとして定義されたデータ構造があります。ネットワーク経由で送信するためにそれらを文字列化するのが好きです。JSON.stringify()それらを呼び出すだけでうまくいくようです。しかし、それは良い習慣ですか?

これが壊れる可能性のある特別なケースはありますか (たとえば、静的メソッド?)

4

2 に答える 2

3

関数ではなくデータを送信するだけであれば、正常に機能します。ただし、JSONは値のみを伝達でき、関数は伝達できません。古いブラウザー(<IE8)にはJSONオブジェクトがネイティブにないため、フォールバックソリューションを提供する必要があります(jQueryのようなフレームワークはフォールバックを自動的に実装します)。

于 2012-10-08T12:59:07.707 に答える
1

JSON は JS のサブセットなので、その観点からは 100% 問題ありません。

JSON は、JS に変換して操作したり、元に戻したり、送信したり、保存したりすることも目的としています。

したがって、すべての JSON を手動で記述する必要はなく、オブジェクトを JSON に変換することは本来の目的の一部です。

特殊なケースに関しては、JSON には関数や循環参照を含めることはできません...ネストされたオブジェクトと配列の内部には、文字列、数値、およびブール値以外のものはありません。

それがすでにデータのフォーマットである場合は、完了です。

IE6 および 7 には、ネイティブの JSON サポートがありません。
ただし、json2.js は、すべてのネイティブ実装が基づいている Douglas Crockford のファイルです。
その後、そのファイル!window.JSONをロードすると、OldIE で問題なく動作します。

于 2012-10-08T13:20:42.057 に答える