JavaScript 手动实现数组转 JSON 字符串的方法
作者:青柠时间:2026-10-29 11:58:55浏览:274
本文介绍如何使用 JavaScript 手动实现数组到 JSON 字符串的转换逻辑。通过递归处理对象、数组及基础类型,并处理特殊字符转义,模拟 JSON.stringify 的功能。该方法有助于深入理解 JSON 序列化过程及字符串处理细节。
JavaScript 手动实现数组转 JSON 字符串的方法
在 JavaScript 开发中,有时需要手动将数组转换为 JSON 格式的字符串。
function arrayToJson(o) {
var r = [];
if (typeof o == "string") return "\"" + o.replace(/([\'\"\\])/g, "\\$1").replace(/(\n)/g, "\\n").replace(/(\r)/g, "\\r").replace(/(\t)/g, "\\t") + "\"";
if (typeof o == "object") {
if (!o.sort) {
for (var i in o)
r.push(i + ":" + arrayToJson(o[i]));
if (!!document.all && !/^\n?function\s*toString\(\)\s*\{\n?\s*\[native code\]\n?\s*\}\n?\s*$/.test(o.toString)) {
r.push("toString:" + o.toString.toString());
}
r = "{" + r.join() + "}";
} else {
for (var i = 0; i < o.length; i++) {
r.push(arrayToJson(o[i]));
}
r = "[" + r.join() + "]";
}
return r;
}
return o.toString();
}
该实现的功能等同于调用内置的 方法,即对数组进行序列化操作。
上述内容涵盖了实现的核心逻辑,供参考使用。
作者最新文章
ES6模块化中js文件怎么用import和export交互
2026-11-05 17:00:48
JS读取本地文件时报错或无响应的常见原因
2026-11-05 16:32:31
let、const与var的区别:JavaScript变量声明最佳实践
2026-11-05 14:16:38
JS中直接定义静态二维数组的字面量写法
2026-11-05 14:16:08
JS 怎么查找字符串中所有匹配项的位置
2026-11-05 14:15:53
