我有一個包含由其他數組組成的數組的對象,它也包含方法。我面臨的問題是我不能使用JSon,因爲多維數組和方法。如何將一個複雜的javascript對象轉換爲字符串並返回
我想將其轉換爲字符串的原因是存儲到Iphone的 localStorage。
你只能在那裏存儲文本,我希望有一種方法可以將一個關於用戶的複雜對象存儲爲字符串,並且能夠在之後再次反序列化它。有甚至有辦法做到這一點。我不太瞭解JavaScript以編寫自己的api。這是我開始嘗試並看看在這一點:(
我有一個包含由其他數組組成的數組的對象,它也包含方法。我面臨的問題是我不能使用JSon,因爲多維數組和方法。如何將一個複雜的javascript對象轉換爲字符串並返回
我想將其轉換爲字符串的原因是存儲到Iphone的 localStorage。
你只能在那裏存儲文本,我希望有一種方法可以將一個關於用戶的複雜對象存儲爲字符串,並且能夠在之後再次反序列化它。有甚至有辦法做到這一點。我不太瞭解JavaScript以編寫自己的api。這是我開始嘗試並看看在這一點:(
沒有必要的localStorage存儲,您可以使用全局數組的任何地方在您的應用程序嘗試這一次
不,我需要localStorage,以便他們可以退出並稍後再回來。該對象包含很多東西 –
這是正常婆ssible以連載使用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
JSON可以編碼多維數組,而不是方法。 – Pointy
你使用JQuery嗎? –
你不能只保存.js腳本,然後嘗試在運行時eval()嗎?但我不知道你是否可以真正從本地存儲中讀取和執行。 – BigMike