JavaScript/post给出了SyntaxError:意外的令牌o

Or *_*ith 1 javascript json node.js

我有下一个帖子请求:

POST /download HTTP/1.1
Host: localhost:5000
Content-Type: application/json
Run Code Online (Sandbox Code Playgroud)

和下一个请求有效负载:

{"blabla":"toto"}
Run Code Online (Sandbox Code Playgroud)

现在,在express模块​​(node.js)中,我有下一个:

app.post("/download", function(req, res){
    var parseJson = JSON.parse(req.body);

});
Run Code Online (Sandbox Code Playgroud)

当我使用JSON.parse时,它会给我下一个错误:

SyntaxError: Unexpected token o
    at Object.parse (native)
    at c:\NodeI\node\express.js:161:19
    at callbacks (c:\NodeI\node\node_modules\express\lib\router\index.js:161:37)
Run Code Online (Sandbox Code Playgroud)

可能是什么原因?我发了一个JSON,为什么它不解析它?

Que*_*tin 6

您的JSON在到达时已经被解析过了 req.body

JSON.parse(req.body);调用toString()JavaScript对象,获取字符串[object Object]并尝试将其解析为JSON.

只需req.body直接使用而不是运行它JSON.parse.