我有一个包含数组的对象,该数组由其他数组组成,它还包含方法。我面临的问题是由于多维数组和方法,我不能使用 JSon。
我想将其转换为字符串的原因是存储到 Iphone 的 localStorage 中。
您只能在其中存储文本,我希望有一种方法可以将有关用户的复杂对象存储为字符串,然后能够再次反序列化它。有没有办法做到这一点。我不太了解javascript,无法编写自己的api。这是我现在开始尝试研究的选项:(
我有一个包含数组的对象,该数组由其他数组组成,它还包含方法。我面临的问题是由于多维数组和方法,我不能使用 JSon。
我想将其转换为字符串的原因是存储到 Iphone 的 localStorage 中。
您只能在其中存储文本,我希望有一种方法可以将有关用户的复杂对象存储为字符串,然后能够再次反序列化它。有没有办法做到这一点。我不太了解javascript,无法编写自己的api。这是我现在开始尝试研究的选项:(
无需存储在 localStorage 中,您可以在应用程序的任何位置使用全局数组 尝试一次
通常可以使用序列化方法myfunc.toString()
因此,您可以在和识别方法中使用replacer
函数,并调用它们,它们会在解析时以某种方式识别它们并将它们转换回一流的函数。JSON.stringify()
JSON.parse()
.toString()
但是 - 请注意,重构的函数将无法访问原始对象的范围,即私有变量或方法等。
例如
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