我有一个关于 node.js 反对 json 字符串的问题
var chat = {};
chat.messages = [];
chat.messages['en'] = [];
chat.messages['fr'] = [];
console.log(chat.messages)
console.log(JSON.stringify(chat.messages));
我得到了
[ en: [], fr: [] ]
[]
不知道为什么不能正确转换
最佳答案
在这一行中,您将 chat.messages
初始化为一个空数组:
chat.messages = [];
在这里,您将它用作对象:
chat.messages['en'] = [];
chat.messages['fr'] = [];
这些行实际上是在数组实例上设置属性。奇怪的是,Node 会将这些属性包含在正常的 .toString()
结果中(即,您会在 console.log(chat.messages )
。
无论如何,要修复,请将 chat.messages
声明为一个对象:
chat.messages = {};
chat.messages['en'] = [];
chat.messages['fr'] = [];
关于javascript - 对象到 node.js 中的 json 字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13782863/