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 шт):

Автор решения: CrazyElf

Во-первых 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,
            ...
        },
        ...
}
→ Ссылка