【发布时间】:2019-02-22 18:48:38
【问题描述】:
我正在尝试在 Dashing / Smashing 仪表板小部件上显示“sgv”值。最后,我还想展示“方向”的价值。我在拉低每 3 到 5 分钟更改一次的精确值时遇到问题。我已经能够使用以下方法镜像确切的字符串:
require 'net/http'
require 'rest-client'
require 'json'
url = "https://dnarnianbg.herokuapp.com/api/v1/entries/current.json"
response = RestClient.get(url)
JSON.parse(response)
# :first_in sets how long it takes before the job is first run. In this case, it is run immediately
current_nightscout = 0
SCHEDULER.every '5m' do
last_nightscout = current_nightscout
current_nightscout = response
send_event('nightscout', { current: current_nightscout, last: last_nightscout })
end
我也多次搜索档案。我不希望将其写入this one 节目之类的文件中,并且重复的问题已被删除或移动。
我意识到 JSON.parse(response) 只会解析出我告诉它响应等于的任何内容,但我不知道如何使响应等于 SGV。也许解决方案不在 RestClient 中,但这就是我迷路的地方。
这是 JSON 网址:http://dnarnianbg.herokuapp.com/api/v1/entries/current.json
编辑:该链接的输出是这样的:
[{"_id":"5ba295ddb8a1ee0aede71822","sgv":87,"date":1537381813000,"dateString":"2018-09-19T18:30:13.000Z","trend":4,"direction ":"Flat","device":"share2","type":"sgv"}]
【问题讨论】:
-
是的。这是血糖读数。我想在仪表板上显示 SGV 的值
-
类似:current_nightscout = response[0]["sgv"]
-
@user3788685 你介意我们看看那里发生的事情,以便我可以从中学习吗?
JSON.parse(open("url"- 这是解析 JSON 并打开实际 URL 吗?:read_timeout => 4- 我认为这是读取超时,但 => 4 等于什么? b>p test [0]["sgv"]- 我认为这是对变量 test 执行 puts 操作,但我不确定 [0] 部分在做什么? 感谢您的所有帮助
标签: json ruby rest-client dashing