var json = {
stringify: function (val) {
var stringify = '',
curVal;
if (val === null) { // null
return String(val);
}
switch (typeof val) {
case 'number': // number
case 'boolean': // boolean
return String(val);
case 'string': // string
return '"' + val + '"';
case 'undefined': // undefined
case 'function': // function
return undefined;
}
if(val.constructor == Array){
stringify += '[';
for (var i = 0, len = val.length - 1; i < len; i++) {
curVal = json.stringify(val[i]);
stringify += (curVal === undefined ? null : curVal) + ",";
}
stringify += json.stringify(val[i]);
stringify += ']';
return stringify;
}else if(val.constructor == Object){
stringify += '{';
for (var i in val) {
// if (val.hasOwnProperty(i)) {
curVal = json.stringify(val[i]);
if (curVal !== undefined) {
stringify += '"' + i + '":' + curVal + ',';
// }
}
}
stringify = stringify.slice(0, -1);
stringify += '}';
return stringify;
}else if(val.constructor == Date){
return '"' + (val.toJSON ? val.toJSON() : val.toString()) + '"';
}else if(val.constructor == RegExp){
return "{}";
}
}
}
使用:var jsonString = json.stringify(jsonObj);