我正在控制一个智能灯泡,并在UI面板中发布它们的状态,作为一种状态,我得到了一个"ON"one_answers"OFF"的字符串数据,但我想得到的不是这个字符串数据,而是一个1和0的整数数据,我可以使用Python Dictionary中的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))
您可以使用以下构造:
devicedata["on"] = 1 if _theJSON["action"]["on"] == "ON" else 0
这是不言自明的。
用整数替换字符串的一种方法是定义一个单独的字典:
ints = { 'OFF': 0, 'ON': 1 }
例如,如果d['action']['status']
的值是字符串"ON",则ints[d['action']['status']]
返回整数1。