Javascript语法错误[Node JS]

Gop*_*gop -2 javascript syntax syntax-error node.js

我正在学习nodeJS,我有这个语法错误,我不明白.有人可以指出什么是语法错误,为什么我会得到它,以及如何绕过它?

var http = require('http');
var url = require('url');
var server = http.createServer(function(req,res) {
    if (req.method == 'POST') {
        return res.end("Only get requests");
    }
    var st = url.parse(req.url,true);
    if (st.indexOf("parsetime") > -1) {
        var time = st.substring(st.indexOf("iso"));
        var date = new Date(time);
        var out = '{
            "hour":'+date.getHours()+',
            "minute":'+date.getMinutes()+',
            "second":'+date.getSeconds()+',
        }';
        res.writeHead(200, { 'Content-Type': 'application/json' });
        res.end(out);
    } else if (st.indexOf("unixtime") > -1) {
        var time = st.substring(st.indexOf("iso"));
        var date = new Date(time);
        var out = "{
            'unixtime':"+date.getTime()+"
        }";
        res.writeHead(200, { 'Content-Type': 'application/json' });
        res.end(out);
    } else {
        return res.end("404");
    }
});
server.listen(process.argv[2]);
Run Code Online (Sandbox Code Playgroud)

语法错误在第11行:"var out ='{"

Pra*_*man 5

从这里删除单引号:

var out = '{
    "hour":'+date.getHours()+',
    "minute":'+date.getMinutes()+',
    "second":'+date.getSeconds()+',
}';
Run Code Online (Sandbox Code Playgroud)

将以上内容更改为:

var out = {
    "hour": date.getHours(),
    "minute": date.getMinutes(),
    "second": date.getSeconds(),
};
Run Code Online (Sandbox Code Playgroud)

或者,如果我可能误认为字符串包含JSON对象,则需要out使用以下方式声明这种方式并进行字符串化:

out = JSON.stringify(out);
Run Code Online (Sandbox Code Playgroud)