2013-12-10 28 views
0

我有一個關聯數組,它看起來是這樣的(而不是實際的代碼):無法序列化的JavaScript數組

sort_order['14682007'][0] = "1" 
sort_order['14682007'][1] = "0" 
sort_order['82501220'][0] = "2" 
sort_order['82501220'][1] = "1" 
sort_order['82501220'][2] = "0" 

我想這種方式序列化此陣:

sort_order = JSON.stringify(sort_order); 

但只返回一個空字符串。 Colud有人幫助我嗎?

+0

您的預期輸出應該如何看待? – Praveen

+2

你是如何創建'sort_order'的?你是如何在'sort_order'中創建單個條目的? –

+0

你確定'sort_order'構造正確嗎?看看'console.log(sort_order)'。順便說一句,不要使用相同的變量輸入和輸出,這是令人困惑的。 – Barmar

回答

3

確保正確聲明變量,一個例子:

var sort_order = {}; 
    sort_order['82501220'] = []; 
    sort_order['14682007'] = []; 
    sort_order['14682007'][0] = "1"; 
    sort_order['14682007'][1] = "0"; 
    sort_order['82501220'][0] = "2"; 
    sort_order['82501220'][1] = "1"; 
    sort_order['82501220'][2] = "0"; 

    console.log(JSON.stringify(sort_order)); 

注意:如果你聲明爲在這種情況下數組排序順序,你將有一個很長的稀疏數組,我認爲。

+0

我完全同意這個答案。我剛剛用'sort_order = [];'重新創建了這個例子。最後當我做'JSON.stringify(sort_order);'瀏覽器內存增加並崩潰,因爲它是一個非常巨大的稀疏數組。 +1爲輝煌(而且非常重要)的投入 –