如何使用字典中的json模块将字符串数据转换为整数?

时间:2018-12-19 07:20:35

标签: python json

我正在控制智能灯泡并将其状态发布在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))

2 个答案:

答案 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。