JSON.stringify() 方法是将一个 JavaScript 对象或值转换为 JSON 字符串,如果指定了一个 replacer 函数,则可以选择性地替换值,或者指定的 replacer 是数组,则可选择性地仅包含数组指定的属性。
JSON.stringify(value[, replacer [, space]])
这里为了方便,暂不考虑replacer和space参数,只考虑第一个参数value
function stringify(value) {
if (Array.isArray(value)) {
let str = '['
for (var i = 0; i < value.length; i++) {
str += stringify(value[i]) + ',' //递归
}
str = str.slice(0, -1)
str += ']'
return str
}
if (typeof (value) == 'object') {
let str = '{'
for (var k in value) {
str += '"' + k + '":' + stringify(value[k]) + ',' //递归
}
str = str.slice(0, -1)
str += '}'
return str
}
if (typeof value == 'number') {
return String(value)
}
if (typeof value == 'string') {
return '"' + value + '"'
}
if (typeof value == 'boolean') {
if (value) {
return 'true'
}
else {
return 'false'
}
}
}