Олимпиадный тренинг

Задача . Работа JSON файлами


Задача

Темы:

Если говорить совсем просто, JSON (JavaScript Object Notation) — это обычный текстовый файл, в котором данные записаны в строгом формате, понятном и человеку, и компьютеру.

Представьте, что вы записываете информацию о друге в блокнот. Вы можете написать как угодно, но компьютер так не поймет. JSON — это «правила оформления» этого блокнота, чтобы любая программа в мире знала: здесь имя, здесь возраст, а здесь список хобби.


Как устроен JSON (основные правила)

Внутри JSON-файла всё строится на парах «ключ»: «значение». Это очень похоже на словари в Python.

  1. Объекты (Словари): Окружаются фигурными скобками { }. Внутри них хранятся свойства предмета.

  2. Массивы (Списки): Окружаются квадратными скобками [ ]. Используются, когда нужно перечислить несколько однотипных объектов (например, список студентов).

  3. Кавычки: Ключи и текстовые значения всегда пишутся в двойных кавычках ". Одинарные ' использовать нельзя.

  4. Типы данных: JSON понимает строки, числа, логические значения (true/false), пустые значения (null), а также вложенные списки и объекты.


Сравнение: Обычный текст vs JSON

Допустим, нам нужно описать книгу.

Как мы пишем в жизни Как это выглядит в JSON
Книга называется "Ведьмак". Ее написал Сапковский в 1993 году. В ней 400 страниц.
     "title": "Ведьмак",
     "author": "Сапковский",
     "year": 1993,
     "pages": 400
}

Почему JSON так популярен?

  • Универсальность: Его понимают все языки программирования (Python, JavaScript, C++, Java и др.).

  • Легкость: Файлы весят немного и быстро передаются по сети.

  • Читаемость: Вы можете открыть его в обычном Блокноте и сразу понять, что там написано.
     


Научимся читать 
import json
# Открываем файл для чтения ('r')
with open('data.json', 'r', encoding='utf-8') as f:
    # Загружаем данные из файла в переменную
    data = json.load(f)

# Теперь data — это обычный словарь Python
print(data[0]) 

time 1000 ms
memory 256 Mb
Правила оформления программ и список ошибок при автоматической проверке задач

Статистика успешных решений по компиляторам
Комментарий учителя