Journey JSON in node.js

Journey JSON in node.js

本文关键字:js node in JSON Journey      更新时间:2023-09-26

我在节点上玩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"}: ''
    }
}

正如您所看到的,整个对象被认为是一个字符串。

这是我的旅程相关代码:

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"}': '' }

可能出了什么问题?

看起来json是使用querystring.parse而不是json.parse.来解析的

请确保您正确地发送了带有"application/json"的"content-type"标头。