2012-12-08 35 views
3

我有node.js的問題JSON字符串反對JSON字符串對象中的node.js

var chat = {}; 
chat.messages = []; 
chat.messages['en'] = []; 
chat.messages['fr'] = []; 
console.log(chat.messages) 
console.log(JSON.stringify(chat.messages)); 

[ en: [], fr: [] ] 
[] 

我不知道這是爲什麼不正確轉換

+0

我只是把我的水晶球一看,它說,它無法正確轉換,因爲你did'nt給它正確的數據 – adeneo

回答

8

在此行中,你初始化chat.messages爲空數組:

chat.messages = []; 

在這裏,你把它作爲一個對象:其實

chat.messages['en'] = []; 
chat.messages['fr'] = []; 

這些行設置屬性的數組實例。這是奇怪的是節點將在正常.toString()結果包括這些屬性(即,你會看到console.log(chat.messages)屬性集作爲數組的元素。


在任何情況下,要解決,聲明chat.messages作爲對象:

chat.messages = {}; 
chat.messages['en'] = []; 
chat.messages['fr'] = []; 
+0

它工作正常,謝謝 – Ajouve