使用JSON.stringify转字符串会把对象中的函数转没掉,有没有什么方法可以把比较复杂的带有函数的对象转成字符串,如下:
let obj ={
name: 'json字符串',
config: function(){
let a = 1;
console.log(a)
},
series:[{
name: '系列1',
text: function(data){
return data
}
}]
}
使用JSON.stringify转字符串会把对象中的函数转没掉,有没有什么方法可以把比较复杂的带有函数的对象转成字符串,如下:
let obj ={
name: 'json字符串',
config: function(){
let a = 1;
console.log(a)
},
series:[{
name: '系列1',
text: function(data){
return data
}
}]
}
10 回答11.7k 阅读
2 回答3.2k 阅读✓ 已解决
2 回答4.3k 阅读✓ 已解决
4 回答4.6k 阅读✓ 已解决
3 回答1.9k 阅读✓ 已解决
3 回答1.7k 阅读✓ 已解决
4 回答2.1k 阅读✓ 已解决
遇到这种需求了第一应该想的是不是有必要。
序列化和反序列化的很重要的特性是要做到与平台无关,你这个
function
一旦被序列化了,那么势必只能是另一个 JS 执行环境(比如浏览器)才能反序列化回来,那么也就失去了与平台无关的这个特性。如果非要这么做,可以用这个库:https://github.com/yahoo/serialize-javascript