← Все вопросы

Как достать поле из вложенного JSON после json.load?

Задан 3 месяца назад544 просмотров2 ответа
10

Загрузил JSON через json.load, структура вложенная: внутри объекта список, внутри списка ещё объекты. Как добраться до конкретного значения, например имени первого пользователя?

2 ответа

19
✓ Принятый ответ — помог автору

После json.load это обычные питоновские dict и list — обращаешься по ключам и индексам цепочкой:

import json

with open('data.json', encoding='utf-8') as f:
    data = json.load(f)

# {"users": [{"name": "Аня"}, {"name": "Боря"}]}
name = data['users'][0]['name']
print(name)  # Аня

Если какого-то ключа может не быть — бери через .get(), чтобы не ловить KeyError: data.get('users', []).

6

Распечатай сначала type(data) и сам data — увидишь, где dict, а где list, дальше просто [...] по цепочке.

Михаил Стецов Да, главное понять что json это вложенные dict/list, и дальше как с обычными · 3 месяца назад

Ваш ответ

Войдите, чтобы ответить на вопрос.
Поддержать проект