Я немного запутался с проблемой, которая возникла у меня в 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'])






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']}