function toJSON(object){
var type = typeof object;
if ('object' == type) {
if (Array == object.constructor)
type = 'array';
else if (RegExp == object.constructor)
type = 'regexp';
else
type = 'object';
}
switch (type) {
case 'undefined':
case 'unknown':
return;
case 'function':
case 'boolean':
case 'regexp':
return object.toString();
case 'number':
return isFinite(object) ? object.toString() : 'null';
case 'string':
return '"' + object.replace(/(|")/g, "$1").replace(/n|r|t/g, function(){
var a = arguments[0];
return (a == 'n') ? 'n': (a == 'r') ? 'r': (a == 't') ? 't': ""
}) + '"';
case 'object':
if (object === null)
return 'null';
var results = [];
for (var property in object) {
var value = toJSON(object[property]);
if (value !== undefined) results.push(toJSON(property) + ':' + value);
}
return '{' + results.join(',') + '}';
case 'array':
var results = [];
for (var i = 0; i < object.length; i++) {
var value = toJSON(object[i]);
if (value !== undefined) results.push(value);
}
return '[' + results.join(',') + ']';
}
}
相关文章
- python3 json数据格式的转换(dumps/loads的使用、dict to str/str to dict、json字符串/字典的相互转换)
- java如何将字符串转换为json格式字符串呢?
- JSON字符串转base64以及base64转urlsafeBASE64的方法(含小程序方法)
- js实现字符串转json对象的四种方法
- java中mongdb的objectid序列化问题(返回json格式而不是字符串问题)
- json字符串转换为多级Map -list-map的形式
- JSON数组形式字符串转换为List的8种方法
- Golang String字符串类型转Json格式
- Go语言进阶,结构体与json字符串格式的互相转换
- golang的结构体,字典与json字符串之间的相互转换,与函数