API 下载资料,推荐?

API download data, recommendations?

我正在尝试解码来自 API 的数据,我只是想不出一种干净的方法来提取值和时间值。我一直在尝试进行字符串操作,但结果非常复杂。

{"max_scale": "0", "min_scale": "0", "graph_label": "Light Level", "average": "1", "length_of_time": "3600", "upper_warn": "1000", "lower_warn": "30", "cached": false, "values": 
 [{"value": 0.0, "time": 1531170219}, 
  {"value": 0.0, "time": 1531170159}, 
  {"value": 0.0, "time": 1531170099}, 
  {"value": 0.0, "time": 1531170039}, 
  {"value": 0.0, "time": 1531169979}, 
  {"value": 0.0, "time": 1531169919}, 
  {"value": 0.0, "time": 1531169859}, 
  {"value": 0.0, "time": 1531169799}, 
  {"value": 0.0, "time": 1531169739}, 
  {"value": 0.0, "time": 1531169679}, 
  {"value": 0.0, "time": 1531169619}, 
  {"value": 0.0, "time": 1531166679}], 
  "timestamp_to": "1531170222.798", "format_string": "%f Lux"}

这是 JSON 格式。使用 python json encoder/decoder 加载此数据。它会把它变成一本字典,比如

my_json_dict['values'] 

你会return那个名单。

您可以为此使用 Python 的 json 模块,或者您可以自己修改数据并将其转换为字典,因为它实际上已经是一个字典了。然后你需要做的就是像这样循环它:

    data = {"max_scale": "0", "min_scale": "0", "graph_label": 
            "Light Level", "average": "1", "length_of_time": "3600",
            "upper_warn": "1000", "lower_warn": "30", "cached": 'false', 
            "values": 
              [{"value": 0.0, "time": 1531170219}, 
               {"value": 0.0, "time": 1531170159}, 
               {"value": 0.0, "time": 1531170099}, 
               {"value": 0.0, "time": 1531170039}, 
               {"value": 0.0, "time": 1531169979}, 
               {"value": 0.0, "time": 1531169919}, 
               {"value": 0.0, "time": 1531169859}, 
               {"value": 0.0, "time": 1531169799}, 
               {"value": 0.0, "time": 1531169739}, 
               {"value": 0.0, "time": 1531169679}, 
               {"value": 0.0, "time": 1531169619}, 
               {"value": 0.0, "time": 1531166679}], 
               "timestamp_to": "1531170222.798", "format_string": "%f Lux"}

for item in data['values']:
    time, value = item['time'], item['value']