次のように HTML で JSON を転送すると、悪い結果が生じるでしょうか。
<div id="json" style="display: none;">{"foo": "bar"}</div>
要素テキストの<
ようにエスケープされるなどの HTML 文字を仮定しますか?<
JSON は厳密に解析できます。
var blah = $.parseJSON($('#json').html())
たとえば、try/catch ステートメントで。その理由は、スクリプト タグが削除されて実行されない場合に、Ajax で処理された HTML 応答で JSON を渡すことができるようにすることです。例は、jQuery .load()特別なセレクター構文を使用して作成された Ajax リクエストです。
$('#here').load('some.html #fragment')
...すべてのスクリプトタグを破棄し、次の使用を防ぎます:
<script>var blah = {"foo":"bar"}</script>
JSON が HTML 属性で渡されるのを見たことがありますが、これは同等であると思います-奇妙さ、セキュリティなどに関して-しかし、すべての追加の引用符エスケープにより、はるかに読みにくくなっています。