我有一个包含数组的对象,这些数组由其他数组组成,它还包含方法。我面临的问题是,由于多维数组和方法,我不能使用JSon。
我想将其转换为字符串的原因是存储到Iphone中 localStorage的。
你只能在那里存储文本,我希望有一种方法可以将一个关于用户的复杂对象存储为字符串,然后再将其反序列化。有没有办法做到这一点。我不太清楚javascript写自己的api。这是我开始尝试并考虑到这一点的选择:(
答案 0 :(得分:2)
答案 1 :(得分:0)
无需存储在localStorage中,您可以在应用程序的任何位置使用全局数组
答案 2 :(得分:0)
通常可以使用myfunc.toString()
因此,您可以使用replacer
和JSON.stringify()
中的JSON.parse()
功能识别方法,并在其上调用.toString()
,然后以某种方式在解析时识别它们并将它们转回到第一类函数中。
但是 - 请注意,重建的函数无法访问原始对象的范围,即私有变量或方法等。
e.g。
function A() {
var foo = 'bar';
this.test = function test() { console.log(foo) };
};
var b = new A();
var f = b.test.toString(); // the text of the method
b.test2 = new Function(f);
b.test2();
> undefined
答案 3 :(得分:0)