在nodejs上未定义JSON

时间:2017-05-09 21:55:35

标签: javascript json node.js command-line-interface

我刚刚将node.js升级到v6.10.3并尝试运行一些测试代码。

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

我将其保存到文件test.js并尝试从节点命令提示符运行它。

Windows Script Host说

' JSON'未定义

我可以打开Chrome窗口,打开调试器,打开控制台并输入相同的代码,然后就可以正常运行。

我搜索了google和SO以获得解释,我在JSON和undefined上找到了很多匹配项,但在节点中没有任何与此问题相关的内容。

1 个答案:

答案 0 :(得分:1)

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