我正在控制智能灯泡并将其状态发布在UI仪表板中,作为状态,我得到的字符串数据为“ ON”和“ OFF”,但我想获得的整数数据不是此字符串数据,而是1和0,无论如何我都可以使用Python字典中的JSON模块将此字符串数据转换为整数数据。
我的智能灯泡的一些API代码在这里:
if (_deviceUrl.getcode() == 200):
data = _deviceUrl.read().decode("utf-8")
# Use the json module to load the string data into a dictionary
_theJSON = json.loads(data)
# 1. status
devicedata['on'] = self.on_dict[_theJSON["action"]['on']]
# 2. brightness convert to %
devicedata["bri"] = int(round(float(_theJSON["action"]["bri"]) * 100 / 255, 0))
答案 0 :(得分:1)
您可以使用以下结构:
devicedata["on"] = 1 if _theJSON["action"]["on"] == "ON" else 0
这很不言自明。
答案 1 :(得分:0)
用类似的整数替换字符串的一种方法是定义一个单独的字典:
ints = { 'OFF': 0, 'ON': 1 }
例如,如果d['action']['status']
的值是字符串“ ON”,则ints[d['action']['status']]
返回整数1。