2014-09-19 114 views
0

我有一个节点的js这样的代码:错误而解析JSON

app.post('/', function(request, response){ 
    var data = JSON.parse(request.body) 
}); 

行:

var data = JSON.parse(request.body) 

并解析请求。

使用curl我这样做:

curl -d '{"operation":"test"}' -H "Content-Type: application/json" http://127.0.0.1:3000/ 

它总是返回此错误:

SyntaxError: Unexpected token o 
    at Object.parse (native) 
    at /Users/admin/programs/node/test.js:28:18 
    at Layer.handle [as handle_request] 

什么错吗?

+2

可能是你的'request.body'已经解析。通过'console.log'检查>>它是值。 'JSON.parse'采用'String' – Ravi 2014-09-19 06:12:31

回答

1

req.body已被解析。你不需要解析它。您在对象上应用JSON.parse而不是字符串。这就是你得到错误的原因。

2

这足以

var data = request.body;