2013-01-21 27 views
16

我有一個關聯數組如下:Javascript:將關聯數組轉換爲字符串並在之後以其他方式返回的最佳方法?

var AssocArray = { id:0, folder:'Next', text:'Apple' }; 

現在我需要這些信息存儲在數據庫中,所以我想,我只想轉換到這個字符串,將其存儲在數據庫中,然後將其拉出的數據庫並在稍後將其放回到JavaScript數組中。

問題在於實際的項目數和數組變量每次都會有所不同(因此爲什麼我想將它存儲爲一個長字符串)。

將此關聯數組轉換爲字符串,然後反之亦然,如何將字符串轉換爲關聯數組的最佳方式是什麼?

+0

順便說一下,在JavaScript中的所有對象都是關聯數組。 –

+1

爲了清楚術語,JS沒有像PHP那樣的關聯數組。你的代碼顯示的是一個包含屬性的對象。在語言方面,這個JS更接近'$ obj = new stdClass(); $ obj-> id = 0; ...'。您通常可以將它們來回轉換,但將它們稱爲關聯數組不正確。 – loganfsmyth

+0

@loganfsmyth在JavaScript中,所有對象都是* de facto *關聯數組,它們不是嗎? ECMAScript規範沒有使用術語「關聯數組」afaik,但是對象被指定的方式,它們在實踐中是關聯數組。 –

回答

37

沒有什麼比JSON更好地爲它:

var str = JSON.stringify(obj); 
// >> "{"id":0,"folder":"Next","text":"Apple"}" 

var obj = JSON.parse(str); 
// >> Object({ id: 0, folder: "Next", text: "Apple" }) 
相關問題