APP下载

JSON.stringify()方法的原生JS实现

消息来源:baojiabao.com 作者: 发布时间:2026-05-14

报价宝综合消息JSON.stringify()方法的原生JS实现

JSON的一个常见用途是作为与Web服务器交换资料。当向Web服务器传送资料时,资料必须是字串格式。使用JSON.stringify()可以将JavaScript物件转换为字串型别。那么如何通过原生javascript来实现这个功能呢?

实现思路

通过递回呼叫,来实现对转换物件Object的深层value进行遍历。

利用array的join方法实现最终的字串拼接。

具体程式码

function json2str(o) {

let arr = [];

const fmt = function(s) {

if(typeof s == \'object\' && s !== null) return json2str(s);

return /^(string)$/.test(typeof s) ? `"${s}"`: s;

}

for (var i in o) arr.push(`"${i}":${fmt(o[i])}`)

return `{${arr.join(\',\')}}`

}

const obj = { name: "Lily", age: 30, tel: "132xxxxxxxx", address: { city : "beijing", district: "haidian", detail: "dddddddd"} };

const generatedData = json2str(obj)

对比JSON.stringify方法

可直接在浏览器执行如下程式码

Create JSON string from a JavaScript object.

function json2str(o) {

let arr = [];

const fmt = function(s) {

if(typeof s == \'object\' && s !== null) return json2str(s);

return /^(string)$/.test(typeof s) ? `"${s}"`: s;

}

for (var i in o) arr.push(`"${i}":${fmt(o[i])}`)

return `{${arr.join(\',\')}}`

}

const obj = { name: "John", age: 30, tel: "132xxxxxxxx", address: { city : "beijing", district: "haidian", detail: "dddddddd"} };

const myJSON = JSON.stringify(obj);

document.getElementById("demo").innerHTML = myJSON;

const myJSON2 = json2str(obj)

document.getElementById("demo2").innerHTML = myJSON2;

执行结果

小结

本文的JSON.stringify()方法的原生JS实现属于对javascript灵活应用的基本功。

实现思路来自于笔者平日的工作与思考的总结。

希望大家都能掌握以便在面试中脱颖而出。

您的点赞和收藏是我知识输出的最大鼓励

有需要前端学习资料的同学可以私行小编“学习”,获取学习资料一起交流学习

2020-01-21 06:53:00

相关文章