Как в Python использовать данные в API для доступа к данным из другого файла JSON?

Я немного запутался с проблемой, которая возникла у меня в Python. У меня есть онлайн-API (JSON), содержащий список людей с отдельными идентификационными номерами.

Я хочу перенести эти идентификационные номера в другой файл JSON с отдельными данными (об их ситуации с жильем) и вместе распечатать их данные о жилье и имена.

Чтобы дать вам представление, вот пример файла JSON с людьми (example_1.json):

{"value":[{
      "name": "Alan Smith",
       "id" : "ibcd23"},
       {"name": "Paul Flack",
       "id" : "aasd201"}]

а вот пример второго json файла (example_2.json) со статусом жилья:

{"value":[{
  "id": "ibcd23",
  "housing": "apartment"},
  {"id": "aasd201",
  "housing": "villa"}]}

Как бы вы подошли к этому? Я только дошел до определения значений идентификатора:

import json

with open("example_1.json") as input_file:
    data = json.load(input_file)

for i in data["value"]:
    x = i["Id"]

Заранее благодарю за любую помощь

Кстати. Я не включил фактическую ссылку на файлы JSON/API, поскольку она огромна и содержит гораздо больше данных, чем просто «имя» и «идентификатор», поэтому я подумал, что это может слишком усложнить проблему.

Обновлено: Итак, вот решение благодаря TomNash:

for person in people["value"]:
    for status in housing_status["value"]:
        if status['id'] == person['id']:
            print(status['housing']+ " " + person['name'])
Почему в Python есть оператор "pass"?
Почему в Python есть оператор "pass"?
Оператор pass в Python - это простая концепция, которую могут быстро освоить даже новички без опыта программирования.
Некоторые методы, о которых вы не знали, что они существуют в Python
Некоторые методы, о которых вы не знали, что они существуют в Python
Python - самый известный и самый простой в изучении язык в наши дни. Имея широкий спектр применения в области машинного обучения, Data Science,...
Основы Python Часть I
Основы Python Часть I
Вы когда-нибудь задумывались, почему в программах на Python вы видите приведенный ниже код?
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
Алиса и Боб имеют неориентированный граф из n узлов и трех типов ребер:
Оптимизация кода с помощью тернарного оператора Python
Оптимизация кода с помощью тернарного оператора Python
И последнее, что мы хотели бы показать вам, прежде чем двигаться дальше, это
Советы по эффективной веб-разработке с помощью Python
Советы по эффективной веб-разработке с помощью Python
Как веб-разработчик, Python может стать мощным инструментом для создания эффективных и масштабируемых веб-приложений.
0
0
43
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

JSON настроен не лучшим образом, но это должно работать:

example_1 = json.dumps({"value":[{
      "name": "Alan Smith",
       "id" : "ibcd23"},
       {"name": "Paul Flack",
       "id" : "aasd201"}]})
example_2 = json.dumps({"value":[{
  "id": "ibcd23",
  "housing": "apartment"},
  {"id": "aasd201",
  "housing": "villa"}]})

people = json.loads(example_1)
housing_status = json.loads(example_2)

{person['name']:status['housing']
 for person in people["value"]
 for status in housing_status["value"]
 if status['id'] == person['id']}

Другие вопросы по теме