はい、私の勘違いでした。

はてなブックマーク - Twitter URL Log
JSONはIE8にも入ってるような

IE8にも確かに native JSON が入ってます。

ですが、使えるとは限らないのです。

Compatibility mode (別名Quirks mode) では、JSONオブジェクトは無効になります。これ、豆知識な。心に血豆が出来たけど。

以下、デモです。

var json = {string:'json',number:2,object:{array:[true,false,null]}};
var str  = '{"string":"json","number":2,"object":{"array":[true,false,null]}}';
p( JSON.stringify(json) );
p( JSON.stringify(JSON.parse(str)) );

IE8では、リンク先で実行したときのみ、native JSONが使えます。

iframeもだめです。iframeの元がCompatibility modeだとiframeの中もそうなっちゃうようです。

以下にも test suite がありました。

なんでこんな仕様になってるんだろ…

Dan the IEphobia