1

如果我使用此 URL: https ://api.xively.com/v2/feeds/65673.json?datastreams=3

Xively 返回:

{ "id":65673,
  "title":"Swimming Pool",
  "private":"false",
  "tags":["arduino","xbee"],
  "description":"Monitors swimming pool conditions",
  "feed":"https://api.xively.com/v2/feeds/65673.json",
  "status":"live",
  "updated":"2013-08-03T22:35:27.489534Z",
  "created":"2012-07-02T00:23:57.518294Z",
  "creator":"https://xively.com/users/scott216",
  "version":"1.0.0",
  "datastreams":[{
      "id":"3",
      "current_value":"76.20",
      "at":"2013-08-03T22:35:27.247712Z",
      "max_value":"93.6","min_value":"-2845.0",
      "tags":["Temp 1"],
      "unit":{"symbol":"F","label":"Degrees"}
  }],
  "location":{
    "disposition":"fixed",
    "exposure":"outdoor",
    "domain":"physical"
  }
}

但 In 只想要 current_value 76.20。有没有办法向 URL 添加过滤器或其他东西,以便它只返回当前值?

4

1 回答 1

0

我假设您不打算使用 JSON 解析器,否则获得您需要的东西不会有问题,因为它只是parsed_json['datastreams'][0]['current_value'].

使用 Xively API V2,您可以使用 CSV 格式,它更接近您想要的。

  1. 如您所见,使用数据流过滤器检索提要,但使用 CSV:

    GET https://api.xively.com/v2/feeds/65673.csv?datastreams=3

    3,2013-08-05T09:18:01.566388Z,59.10

  2. 检索数据流本身:

    GET https://api.xively.com/v2/feeds/65673/datastreams/3.csv

    2013-08-05T09:18:01.566388Z,59.10

第一个示例仅在您要在单个请求中获取多个数据流时才有意义,但您不希望所有这些数据流,因此您会调用:

GET https://api.xively.com/v2/feeds/65673.csv?datastreams=1,2,3

如果您只需要一个数据流,则应使用第二个示例并以逗号分隔。

于 2013-08-05T09:29:31.480 回答