arangodb,如何从Post请求中检索JSON

时间:2017-01-29 17:28:25

标签: javascript json post arangodb endpoints

我在我的foxx微服务中向端点发布JSON消息。 我不清楚如何获取完整的JSON来解析它:

router.post('/storeDataRecord', (req, res) => {

....

}).body('deviceData');

这是json:

{
    “data”: [
        {
            “id”: “identifier”,
            “key1”: “value1”,
            “key2”: “value2”
        }
    ]
}

我已经尝试了

var request = req.body.deviceData;
var request = req.body.get('data');

你能帮我理解如何导航json吗?

2 个答案:

答案 0 :(得分:0)

这是一个接受json主体的请求后路由的最小,完整的工作示例:

var joi = require('joi');
var processJson = function(jsonObject) {
    return JSON.stringify(jsonObject);
};
router.post('/start', function(req, res) {
    var result = processJson(req.body);
    res.json({'result': result});
}).summary('Json example').body(joi.object().unknown(true), ['json']);

请注意,声明了接受的内容类型(['json']['application/json']的简写)

当然这假设您发布的数据实际上是有效的JSON,但如果不是,您应该在发送方看到错误(调试发送代码并检查您传递的数据),或者至少是错误来自arangodb表示请求中的无效数据。

答案 1 :(得分:0)

首先使用https://jsonformatter.curiousconcept.com/

验证您的JSON数据