JSON.parse() をサポートしていないブラウザーで JSON を解析する必要があるスクリプトを作成しています。厳密なサイズ目標 (合計サイズ < 20 kb) があるため、jQuery などの外部ライブラリに頼ることはできません。
通常のアプローチは eval() を使用することですが、(外部ソースから提供された) JSON 文字列を制御できないため、安全ではないことが懸念されます。
スクリプト タグを使用してオブジェクトを作成するというアイデアを思いつきました。
var json='{"name":"Me","age":"30"}';
var scr=document.createElement("script");
scr.innerHTML="var obj="+json;
document.body.appendChild(scr);
ここに示されているように、これはうまくいくようです: http://jsfiddle.net/bz8f7/
ここで何か不足していますか?私の方法がうまくいかない、または安全ではない場合はありますか?
注:このメソッドがグローバル変数を作成することは承知しており、私のユースケースでは問題ありません。