js将json对象转换成json字符串

 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

 

posted @ 2014-11-20 09:17  李亚杰  阅读(260)  评论(0)    收藏  举报