json в python, что сие значит?
Есть условие задачки, я не понимаю п.2
п.1.Воспользуйтесь API-интерфейсом для загрузки информации о фильмах из серии «Звёздные войны» "https://swapi.dev/api/peopls/2/" Загрузите информацию о персонажах с индексами 1, 2, 3.' - это, понятно, цикл на три запроса requests с переменным вместо /2/ - /1/../3/
'п 2.Прочитайте JSON, для каждого значения вида https://swapi.dev/api/films/2/ запросите новый объект и замените эту строку на полученный объект.'
И это вопрос - по п.1. грузится информация, где есть ключ "films" со значением "https://swapi.dev/api/films/2/". И что далее с этим надо сделать? Повторить requests("https://swapi.dev/api/films/2/").json, и? Что значит - "запросите новый объект" и на что надо заменить, я так понимаю, https://swapi.dev/api/films/2/?
Ответы (1 шт):
Во-первых URL вы неправильно написали. Правильно слово пишется так: "people". Соответственно URL такой: https://swapi.dev/api/people/2/
Но посмотрим же на json, который приходит при обращении к этому URL. Назовём переменную с ним jsn.
jsn = {
"name": "C-3PO",
"height": "167",
"mass": "75",
"hair_color": "n/a",
"skin_color": "gold",
"eye_color": "yellow",
"birth_year": "112BBY",
"gender": "n/a",
"homeworld": "https://swapi.dev/api/planets/1/",
"films": [
"https://swapi.dev/api/films/1/",
"https://swapi.dev/api/films/2/",
"https://swapi.dev/api/films/3/",
"https://swapi.dev/api/films/4/",
"https://swapi.dev/api/films/5/",
"https://swapi.dev/api/films/6/"
],
"species": [
"https://swapi.dev/api/species/2/"
],
"vehicles": [],
"starships": [],
"created": "2014-12-10T15:10:51.357000Z",
"edited": "2014-12-20T21:17:50.309000Z",
"url": "https://swapi.dev/api/people/2/"
}
Как видно, это словарь, в элементе jsn['films'] лежит список URL вида "https://swapi.dev/api/films/1/". Если я правильно понял задание, вам нужно пройти по этому списку и заменить его элементы вида URL на те json-ы, которые возвращаются сайтом при обращении к очередному URL из списка. Т.е. в json будет уже другой список в результате:
{
...
"films": [
{
"title": "A New Hope",
"episode_id": 4,
...
},
...
}