2013-01-21 8 views
16

Mam tablicę asocjacyjną następująco:Javascript: Najlepszy sposób na konwersję tablicy asocjacyjnej na ciąg i powrót w drugą stronę później?

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

Teraz muszę zapisać to w bazie danych, więc postać Chciałbym tylko konwersji na sznurku, należy go przechowywać w bazie danych, a następnie wyciągnij ją z bazy danych i umieścić ją z powrotem w tablicy javascript później.

Połów jest faktycznym numerem pozycji, a zmienne tablicowe będą za każdym razem różne (dlatego też chciałem zapisać je jako jeden długi ciąg).

Jaki jest najlepszy sposób na konwersję tej tablicy asocjacyjnej na ciąg, a następnie na odwrót, jak przekonwertować ciąg na tablicę asocjacyjną?

+0

Btw, w JavaScript wszystkie obiekty są tablice asocjacyjne. –

+1

Aby być czystym w terminologii, JS nie ma tablic asocjacyjnych takich jak PHP. To, co pokazuje twój kod, to obiekt z właściwościami. W sensie językowym ten JS jest bliższy '$ obj = new stdClass(); $ obj-> id = 0; ... '. Generalnie można je konwertować w tę iz powrotem, ale wywoływanie ich jako tablic asocjacyjnych jest niepoprawne. – loganfsmyth

+0

@loganfsmyth W JavaScript wszystkie obiekty są * de facto * tablice asocjacyjne, czyż nie? Specyfikacja ECMAScript nie używa terminu "tablica asocjacyjna" afaik, ale sposób w jaki obiekty są specyfikowane, są w praktyce tablicami asocjacyjnymi. –

Odpowiedz

37

Nie ma nic lepszego niż JSON do niego:

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

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