Как можно сериализовать список GPIO в JSON? - PullRequest
0 голосов
/ 19 мая 2018

У меня есть следующая установка

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 голосов
/ 24 мая 2018

Не совсем уверен, что это то, что вы просите, но вот словарное понимание для преодоления жестко закодированных ключей в вашем возвращаемом слове:

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

Повторение над LEDS.items() даетвы и ключ и значение пары в LEDS, что вам нужно для создания каждой новой пары в вашем dict результата.

...