如何将GPIO列表序列化为json?

时间:2018-05-19 13:25:41

标签: json python-3.x gpio

我有以下设置

LEDS = {"green": 16, "red": 18}

@app.route('/leds/', methods=["GET"])
def api_leds_state():
    return {"green": GPIO.input(LEDS["green"]), "red": GPIO.input(LEDS["red"])}

返回引脚状态

{
    "green": 0,
    "red": 0
}

不幸的是,上面的代码是硬编码的。如何通过循环或序列化或其他方式获得所需的json响应?

1 个答案:

答案 0 :(得分:1)

不完全确定你要求的是什么,但是在这里dictionary comprehension要克服你的回归词中的硬编码键:

return {color:GPIO.input(pin) for color, pin in LEDS.items()}

LEDS.items()进行迭代可以为LEDS中的一对提供关键字和值,这就是在结果字典中创建每个新对所需的内容。