JSON.parse() 方法中里面有函数,转化完成后是字符串问题
要将 JSON 字符串中的函数还原回原来的函数对象,你可以使用 JSON.parse()
方法,并提供一个 reviver 函数来将字符串表示的函数重新转换为函数对象。以下是你可以使用的代码示例:
var obj = { "name":"Runoob", "alexa":function () {return 10000;}, "site":"www.runoob.com"}; // 将函数转换为字符串 obj.alexa = obj.alexa.toString(); // 将对象转换为 JSON 字符串 var myJSON = JSON.stringify(obj); // 从 JSON 字符串中还原对象 var newObj = JSON.parse(myJSON, function(key, value) { // 如果值是字符串,并且看起来像是函数定义,则将其转换为函数对象 if (typeof value === 'string' && value.indexOf('function') === 0) { // 使用 eval 将字符串转换为函数对象,这里有一定的安全风险,请确保 JSON 字符串是可信的 return eval('(' + value + ')'); } return value; }); console.log(newObj);
这段代码会输出还原后的对象,其中 alexa
属性的值将会是一个函数对象。但请注意,使用 eval
有一定的安全风险,所以在实际应用中需要确保 JSON 字符串的来源可信。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· DeepSeek 开源周回顾「GitHub 热点速览」
2023-04-12 分享15个对Web开发人员有用的高效工具网站