Вывод значений ключей при получении нужного json

Рейтинг: 0Ответов: 1Опубликовано: 17.01.2023

Делаю get запрос

res = requests.request("GET", 'example.com', headers={'local':'ru'}) 

Cервер может прислать один из этих json

{
  "code": 1,
  "result": {
    "code": 10000,
    "List": [
      {
        "Id": "34",
        "local": {
        }
      },
      {
        "Id": "35",
        "local": {
        }
      }
    ]
  }
}

или

{
  "msg": "server error",
  "code": 500
}

После делаю вывод

print('Disconnect', if res.json()["code"] == 500 else 'Active')

Как добавить к статусу "Active" значения ключей "Id": "35", "34" в одной строке

Чтобы в итоге выводы были такими:

Disconnect или Active | 35, 34

Ответы

▲ 0Принят

Всё как я и написал в комментарии, вот проверка:

def func(json_):
    print('Disconnect' if json_["code"] == 500 
          else f'Active | {",".join(x["Id"] for x in json_["result"]["List"])}')
    
func({
  "msg": "server error",
  "code": 500
})

func({
  "code": 1,
  "result": {
    "code": 10000,
    "List": [
      {
        "Id": "34",
        "local": {
        }
      },
      {
        "Id": "35",
        "local": {
        }
      }
    ]
  }
})

Вывод:

Disconnect
Active | 34,35