liyajie
 1 //#region 将json对象转换成json字符串 
 2 function JsonToStr(object) {
 3     var type = typeof object;
 4     if (\'object\' == type) {
 5         if (Array == object.constructor)
 6             type = \'array\';
 7         else if (RegExp == object.constructor)
 8             type = \'regexp\';
 9         else
10             type = \'object\';
11     }
12     switch (type) {
13         case \'undefined\':
14             return "\"\"";
15             break;
16         case \'unknown\':
17             return;
18             break;
19         case \'function\':
20         case \'boolean\':
21         case \'regexp\':
22             return object.toString();
23             break;
24         case \'number\':
25             return isFinite(object) ? object.toString() : \'null\';
26             break;
27         case \'string\':
28             return \'"\' + object.replace(/(\\|\")/g, "\\$1").replace(/\n|\r|\t/g,
29                function () {
30                    var a = arguments[0];
31                    return (a == \'\n\') ? \'\\n\' :
32                                (a == \'\r\') ? \'\\r\' :
33                                (a == \'\t\') ? \'\\t\' : ""
34                }) + \'"\';
35             break;
36         case \'object\':
37             if (object === null) return \'null\';
38             var results = [];
39             for (var property in object) {
40                 var value = JsonToStr(object[property]);
41                 if (value !== undefined)
42                     results.push(JsonToStr(property) + \':\' + value);
43             }
44             return \'{\' + results.join(\',\') + \'}\';
45             break;
46         case \'array\':
47             var results = [];
48             for (var i = 0; i < object.length; i++) {
49                 var value = JsonToStr(object[i]);
50                 if (value !== undefined) results.push(value);
51             }
52             return \'[\' + results.join(\',\') + \']\';
53             break;
54     }
55 }
56 //#endregion

 

分类:

技术点:

相关文章: