Войти
или
Зарегистрироваться
Маркетплейс
Курсы
Учебник
Учебник 2.0
ОГЭ/ЕГЭ
Олимпиады
Рубрикатор
Компилятор
Онлайн Компилятор
Компилятор Python с отладкой
Питон - Черепашка
Редактор HTML Code
SQLite Studio - работа с БД
Статья Автор:
Деникина Н.В., Деникин А.В.
Работа с JSON в Python
Подключение библиотеки
import json
Библиотека встроена — устанавливать ничего не нужно!
Чтение JSON:
json.loads()
loadS
= load
S
tring
(загрузить из строки)
import json # JSON в виде строки text = '{"name": "Аня", "age": 15}' # Превращаем в словарь Python data = json.loads(text) # Теперь это обычный словарь! print(data["name"]) # Аня print(data["age"]) # 15 print(type(data)) # <class 'dict'>
×
Чтение из файла:
json.load()
import json with open("player.json", "r", encoding="utf-8") as file: player = json.load(file) print(player["name"]) # Hero print(player["inventory"]) # ['sword', 'shield', 'potion'] print(player["inventory"][0]) # sword
×
Навигация по вложенным данным
import json data = json.loads(''' { "game": { "title": "Space Quest", "players": [ {"name": "Аня", "score": 1500}, {"name": "Боря", "score": 2300} ] } } ''') # Доступ к вложенным данным — как матрёшка! print(data["game"]["title"]) # Space Quest print(data["game"]["players"]) # [{'name': 'Аня', ...}, ...] print(data["game"]["players"][0]) # {'name': 'Аня', 'score': 1500} print(data["game"]["players"][0]["name"]) # Аня print(data["game"]["players"][1]["score"]) # 2300 print("="*30) # Перебор игроков for player in data["game"]["players"]: print(f"{player['name']}: {player['score']} очков") # Вывод: # Аня: 1500 очков # Боря: 2300 очков
×
Полезный приём: словарь по id
Часто нужно быстро находить элемент по его id:
import json data = json.loads(''' { "nodes": [ {"id": 0, "value": "корень"}, {"id": 1, "value": "левый"}, {"id": 2, "value": "правый"} ] } ''') # Создаём словарь: id → узел nodes_by_id = {node["id"]: node for node in data["nodes"]} # Теперь мгновенный доступ! print(nodes_by_id[0]) # {'id': 0, 'value': 'корень'} print(nodes_by_id[2]) # {'id': 2, 'value': 'правый'}
×
Считывание json данных при решении задач
Если входные данные записаны в json формате, то считывание их на сайте производится так:
import sys data = json.loads(sys.stdin.read())
Прикрепленные файлы
player.json
Чтобы оставить комментарий нужна авторизация
Печать