json body 中的多个时间戳

multiple timestamps in json body

我正在尝试将带有时间戳的键值对发送到 ThingsBoard 演示平台 (demo.thingsboard.io)。标准方法是发送一个时间戳和一些 key-value-pairs 像这样:

{"ts":1451649600512, "values":{"key1":"value1", "key2":"value2"}}

我的问题是,我每秒需要处理多达 100 个加速度测量值,我不想为每个 x-y-z value-package 发送一个 http post。有没有办法发送一个 json body,比方说,100 个时间戳和相应的测量值?

我试过了:

{
"ts": 1508695100,
"values": {
    "key1": 34,
    "key2": 26
},
"ts": 1508695200,
"values": {
    "key1": 38,
    "key2": 29
}

}

使用 curl 将此 json 推送到 ThingsBoard 时没有错误消息,但 ThingsBoard 似乎只能识别最后一个 timestamp-value-block。

关于如何解决我的问题有什么建议吗?

您应该使用以下格式(json 数组):

[{"ts":1451649600512, "values":{"key1":"value1", "key2":"value2"}}, {"ts":1451649600513, "values":{"key1":"value1", "key2":"value2"}}]

[ { "ts":1451649600512, "values":{ "key1":"value1", "key2":"value2" } }, { "ts":1451649600513, "values":{ "key1":"value1", "key2":"value2" } } ]

顺便说一句,您尝试的 JSON 根本不是有效的 JSON 文档。请在发送前检查文件的有效性。

改进给出的答案。 我的问题是,我不明白我必须使用 "ts""values" 键。

我发送了没有 "values" 键的数据,并直接在 "ts" 键后附加了我的键值对。

所以这是错误的,不会起作用:

{
    "ts":1451649600513,
    "key1":"value1",
    "key2":"value2"
}