-var X_JSON = X[ 'JSON' ] = window.JSON || {\r
+\r
+\r
+var X_JSON = X[ 'JSON' ] =\r
+\r
+// TODO ie8 は子フレームには JSON がいない…アクセス可能な親を探索\r
+\r
+ // JavaScriptでunicode文字列をunescapeする\r
+ // http://perutago.seesaa.net/article/202801583.html\r
+ \r
+ // http://blog.livedoor.jp/dankogai/archives/51503830.html \r
+ // Ajax - IE8にもJSON入ってます。使えるとは限らないけど\r
+ // Compatibility mode (別名Quirks mode) では、JSONオブジェクトは無効になります。iframeもだめです\r
+X_UA[ 'IE8' ] ? {\r
+ 'stringify' : function( o ){\r
+ return unescape( JSON.stringify( o ) );\r
+ },\r
+ \r
+ 'parse' : JSON.parse\r
+} :\r
+\r
+window.JSON || {\r
'stringify' : X_JSON_stringify,\r
\r
'parse' : X_String_parseTrustedJsonString\r
};\r
\r
+\r
+\r
function X_JSON_stringify( obj ){\r
var json = '', k, v;\r
for( k in obj ){\r
if( json ) json += ',';\r
v = obj[ k ];\r
v = v || v === 0 ? v : null;\r
- json += '"' + k + '":' + ( X_Type_isObject( v ) ? X_NET_GIMR_toJSONString( v ) : X_Type_isString( v ) ? '"' + v + '"' : v );\r
+ json += '"' + k + '":' + ( X_Type_isObject( v ) ? X_JSON_stringify( v ) : X_Type_isString( v ) ? '"' + v + '"' : v );\r
};\r
//console.log( json );\r
return '{' + json + '}';\r