在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'标题。