【问题标题】:Object to json string in node.jsnode.js 中的对象到 json 字符串
【发布时间】:2012-12-09 07:13:40
【问题描述】:

我有一个 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: [] ]
[]

我不知道为什么不能正确转换

【问题讨论】:

  • 我刚刚看了看我的水晶球,它说它没有正确转换,因为你没有提供正确的数据?

标签: javascript json node.js


【解决方案1】:

在这一行,您将chat.messages 初始化为一个空数组:

chat.messages = [];

在这里,您将它用作对象:

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

这些行实际上是在数组实例上设置属性。奇怪的是,Node 会将这些属性包含在正常的 .toString() 结果中(即,您会在 console.log(chat.messages) 上将 set 属性视为数组的元素。


无论如何,要修复,请将chat.messages 声明为对象:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-03-26
    • 2021-12-31
    • 2011-01-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多