OSDN Git Service

Version 0.6.169, add doc comment.
[pettanr/clientJs.git] / 0.6.x / js / 05_util / 02_XJSON.js
index 2046288..a99aa0e 100644 (file)
@@ -1,5 +1,7 @@
-\r
-\r
+/**\r
+ * ユーティリティ関数とユーティリティクラス\r
+ * @namespace X.JSON\r
+ */\r
 var X_JSON = X[ 'JSON' ] =\r
 \r
 // TODO ie8 は子フレームには JSON がいない…アクセス可能な親を探索\r
@@ -18,14 +20,18 @@ X_UA[ 'IE8' ] ? {
        'parse' : JSON.parse\r
 } :\r
 \r
-window.JSON || {\r
+window.JSON ||\r
+{\r
        'stringify' : X_JSON_stringify,\r
        \r
-       'parse'     : X_String_parseTrustedJsonString\r
+       'parse'     : X_JSON_parseTrustableString\r
 };\r
 \r
 \r
-\r
+/**\r
+ * \r
+ * @alias X.JSON.stringify\r
+ */\r
 function X_JSON_stringify( obj ){\r
        var json = '', k, v;\r
        for( k in obj ){\r
@@ -36,4 +42,14 @@ function X_JSON_stringify( obj ){
        };\r
        //console.log( json );\r
        return '{' + json + '}';\r
-};
\ No newline at end of file
+};\r
+\r
+/**\r
+ * <p>JSON を持たないブラウザでは、eval を使用します。よって、信頼できる文字列だけに対してパースを行います。\r
+ * <p>url パラメータや window.name に対して使用する際は最新の注意を払います。\r
+ * @alias X.JSON.parse\r
+ */\r
+function X_JSON_parseTrustableString( jsonString ){\r
+       return window.JSON ? JSON.parse( jsonString ) : eval( '(' + jsonString + ')' );\r
+};\r
+\r