节点 – 转换为JSON失败,但可以在控制台中打印

我试图将数组转换为JSON发送到客户端。 以下是控制台中的数据:

[ NL: [ true, true, true, true, true, true, true, true, true, true, true, true ], LU: [ true, true, true, true, true, true, true, true, true, true, true, true, false, false, false ], SE: [ false, false, false ] ] 

但是,当我运行这个(res是一个express.js套接字):

 console.log(st.bot.serverStatus); res.send(JSON.stringify(st.bot.serverStatus)); 

我在控制台得到输出像预期的,但我从Web浏览器得到[] 。 我究竟做错了什么?

PS:我无法改变元素的格式,它们是通过这个方法生成的:

  if(st.bot.serverStatus[tmp.country] !== undefined) { st.bot.serverStatus[tmp.country][st.bot.serverStatus[tmp.country].length] = alive; } else { st.bot.serverStatus[tmp.country] = [ alive ]; } 

SE:这不是有效的语法SE: LE:因为它是一个数组而不是一个对象。 将最外层的[]更改为{}或更改为:

使用任一:

 console.log(JSON.stringify({ NL: [ true, true, true, true, true, true, true, true, true, true, true, true ], LU: [ true, true, true, true, true, true, true, true, true, true, true, true, false, false, false ], SE: [ false, false, false ] } ));