2

第一次发帖,老读者。我对编码很陌生,只是想用网络自学。

我在 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 然后返回一个字符串,我似乎无法正确地进行转换和排序. 或者也许这不是这样做的方法。

非常感谢您的帮助。

4

1 回答 1

0

使用 json.dumps()

>>> data = json.loads('{"DA":{"tempTarget":24}}')
>>> data['DA']['tempTarget'] += 1
>>> json.dumps(data)
'{"DA": {"tempTarget": 25}}'
>>> 
于 2018-02-28T23:45:34.333 回答