第一次发帖,长时间读者。我对编码非常陌生,只是想用网络教自己。
我在python中有一些代码遇到麻烦并且会喜欢一些帮助。我有2个python脚本,基本上从我的AC单元读取数据,第二个向其发送数据。
以下是获取数据的代码...(结果只是一长行文本,因此格式化数据可以提取特定信息)
#!/usr/bin/python
import requests
import json
link = "https://actron.ninja.is/rest/v0/device/ACONNECT001EC015ABFE_0_2_4?<user_access_token>"
f = requests.get(link)
raw_data = f.text
formatted_data = json.loads(raw_data)
amOn = formatted_data['data']['last_data']['DA']['amOn']
tempTarget = formatted_data['data']['last_data']['DA']['tempTarget']
print (tempTarget)
以及发送数据的代码......
#!/usr/bin/python
import requests
headers = {
'Origin': 'https://actronair.com.au',
'Accept-Encoding': 'gzip, deflate, br',
'Content-Type': 'application/json',
'Accept': 'application/json',
'Referer': 'https://actronair.com.au/aconnect/',
'Connection': 'keep-alive',
}
params = (
('user_access_token', '<user access token>'),
)
data = '{"DA":{"tempTarget":24}}'
response = requests.put('https://actron.ninja.is/rest/v0/device/ACONNECT001EC015ABFE_0_2_4', headers=headers, params=params, data=data)
我的问题和我的目标是什么,我想将它合并到一个python文件中,并且基本上让程序读取当前的'tempTarget',然后将其增加1,此脚本将最终附加到按钮。
我正在努力解决这个问题,因为发送的数据是一个字符串,所以我需要将它转换为dict并将其转换为+1收到的tempTarget然后返回字符串,我似乎无法获得转换和顺序正确。或者这可能不是这样做的。
非常感谢您的帮助。
答案 0 :(得分:0)
使用json.dumps()
>>> data = json.loads('{"DA":{"tempTarget":24}}')
>>> data['DA']['tempTarget'] += 1
>>> json.dumps(data)
'{"DA": {"tempTarget": 25}}'
>>>