在node.js中旅行JSON

我正在玩节点Journey,我只知道路由器正在将JSON请求对象解释为具有空值的键的值:

换句话说,当我发布到服务器的JSON对象,我得到以下内容:

http://127.0.0.1:3000/> post /events ... {url : "test"} HTTP/1.1 200 OK Date: Tue, 21 Feb 2012 00:42:38 GMT Server: journey/0.4.0 Content-Type: application/json;charset=utf-8 Content-Length: 67 Connection: keep-alive { event: { _id: '10tPxx', resource: 'Event', {url : "test"}: '' } } 

正如你所看到的,整个对象被视为一个string。

这是我的旅程相关的代码:

 exports.createRouter = function(resource){ var router = new (journey.Router)({ api: 'basic' }); router.path(/\/events/, function(){ .... this.post().bind(function(res, event){ console.log(event); resource.create(event, function(err, result){ if(err){ return res.send(500, {}, {error: err.error}); } res.send(200, {}, { event: result}); }); }); ... }); return router; }; 

控制台的打印输出是:

 { '{url : "test"}': '' } 

有什么可能是错的?

它看起来像使用querystring.parse而不是JSON.parseparsingjson。

确保你正确地发送'application-json'的'内容types'标题。