2014-09-19 71 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;