Как скрыть блок ответа в случае, если API не возвращает никаких значений в python

#python #flask

Вопрос:

Я создал API Rest с помощью Flask.У меня есть ответ, как показано ниже ddata

 data["trafficserver]:{
data["server"]:data["buildnumber"]
}
 

Я хотел скрыть это в ответе на случай, если данные[«Сервер трафика»] не содержат никаких данных.Пожалуйста, помогите

Комментарии:

1. Ваш вопрос на самом деле не совсем ясен. Где вы прячете ответ — на стороне клиента? Что вы имеете в виду, говоря «не содержит никаких данных»? Вы имеете в виду, что значение равно null, пустая строка или ключ «сервер трафика» не существует?

2. Да, я имею в виду, что в ответе, который я пытаюсь построить, в некоторых случаях не будет сервера трафика data.so Я не хочу, чтобы этот раздел не возвращался в ответ.если данные присутствуют, он будет возвращен. Для некоторых данных нет нулевого значения, просто для trafficserver нет.

3. Пожалуйста, проясните вашу конкретную проблему или предоставьте дополнительные сведения, чтобы точно указать, что вам нужно. Поскольку это написано в настоящее время, трудно точно сказать, о чем вы просите.

Ответ №1:

Согласно вашим комментариям, вы не хотите, чтобы ключ словаря — сервер трафика — отправлялся обратно клиенту, если он не имеет значения.

  1. Одним из решений является просмотр компонентов, необходимых для вычисления значения, и если один из них отсутствует или не соответствует условию его использования, вы не добавляете ключ — сервер трафика — в словарь

    Пример

     if data.get("buildnumber", None):
        data["trafficserver]= {data["server"]:data["buildnumber"]}
     

    Это означает — создайте значение для traffic server только в том случае, если есть значение для buildnumber

  2. Другой вариант-просмотреть все ключи словаря и удалить любой ключ, который не имеет значения. Что-то вроде
     for k,v in data.items():
        if not v:
            del data[k]