使用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
}
}]
}
13 回答12.7k 阅读
2 回答4.9k 阅读✓ 已解决
7 回答1.8k 阅读
5 回答1.3k 阅读
9 回答1.6k 阅读✓ 已解决
3 回答2.1k 阅读✓ 已解决
8 回答2.2k 阅读
遇到这种需求了第一应该想的是不是有必要。
序列化和反序列化的很重要的特性是要做到与平台无关,你这个
function
一旦被序列化了,那么势必只能是另一个 JS 执行环境(比如浏览器)才能反序列化回来,那么也就失去了与平台无关的这个特性。如果非要这么做,可以用这个库:https://github.com/yahoo/serialize-javascript