JSON在nodejs上未定义

我刚把node.js升级到v6.10.3,试图运行一些testing代码。

var str = '{"foo": "bar"}'; var obj = JSON.parse(str); console.log(obj.foo); 

我把它保存到一个文件test.js,并试图从节点命令提示符运行它。

Windows脚本主机说

'JSON'是未定义的

我可以打开一个Chrome窗口,打开debugging器,打开控制台并input相同的代码,并运行正确。

我已经search谷歌和SO的解释,我发现很多JSON和未定义的匹配,但没有任何关于这个问题在节点。

您需要确保指定节点可执行文件,而不是只是JavaScript文件或双击javascript文件。 例如: node test.js 否则,Windows将尝试使用WSH(特别是其JScript引擎)来执行包含较旧,较差的JavaScript运行时的代码。