节点 – 转换为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 ] } ));