1

我在 ArangoDB 中的 Foxx 应用程序中解析 JSON 消息时遇到问题。

这是控制器中“post”的代码:

controller.post('/', function (req, res) {
        var message = req.params("testCollection");
        var data = message.records;
        for(var i in data) {
           var imei = data[i].imei;
           var timestamp = data[i].timestamp;

           ....other stuff here using place and timestamp
       }
}

这是 JSON 消息:

{
    "records": [
      {
        "timestamp": "2001/05/09",
        "imei": "123456789012345",
        "gpsData": {
            "lat": 1001,
            "lon": 1002,
            "altitude": 1003,
            "speed": 1004
        },
        "io": [
            {"key": "IO1", "value": 1},
            {"key": "IO2", "value": 2},
            {"key": "IO3", "value": 3},
            {"key": "IO4", "value": 4},
            {"key": "IO5", "value": 5},
            {"key": "IO6", "value": 6},
            {"key": "IO7", "value": 7}
        ]
    }
  ]
}

然后imei将其用作查询的参数,但我无法得到任何响应。如果我硬编码,imei我可以从集合中获取正确的文档。

上面解析 JSON 的代码有什么问题吗?

4

1 回答 1

2

通过替换以下代码解决了问题:

var data = message.records; 

和:

var data = message.get('records'); 
于 2015-12-31T10:39:43.273 回答