JavaRush
Акция
Университет
Java FullStack
Python FullStack
AI Native Developer
new
Web FullStack
Обучение
Курсы
Задачи
Опросы
Игры
Помощь
График пинков
Стажировка
Сообщество
Пользователи
Форум
Чат
Статьи
Истории успеха
Активности
Отзывы
Подписки
Светлая тема

Лекции

  • Отзывы
  • О нас
  • CS50
Начать
Начать обучение
Начать обучение
  • Мое обучение
  • Курсы
  • Университет
  • Карта квестов
  • Лекции
  • JSON — объект, массив, примитивы

    C++ SELF
    65 уровень,0 лекция
    Разбираем JSON как дерево значений: корневой узел, семейства object/ array/ primitive, правила строк и экранирования ( \", \n), отличия чисел и строк ( 42 vs "42"), поведение true/ false/ null, а также ключевой момент форматов данных: «поля нет» и «поле равно null» — разные ситуации. В конце — чек-лист типовых ошибок, которые удобно распознавать глазами.
    Открыта
  • nlohmann::json: parse() и dump()

    C++ SELF
    65 уровень,1 лекция
    Разбираем базовый цикл «текст ↔ JSON-дерево» в nlohmann::json: как распарсить строку через json::parse(), как сериализовать обратно через dump() и dump( 2 ), как отличать синтаксически битый JSON ( json::parse_error) от корректного JSON «не той структуры» (ошибки типа/доступа), и как аккуратно читать/писать документы в файлы через std::ifstream/ std::ofstream.
    Открыта
  • Маппинг модели: to_json/from_json

    C++ SELF
    65 уровень,2 лекция
    Разбираем, зачем в C++-проектах выносить правила преобразования struct ↔ JSON в одно место: сравниваем ручную сериализацию на nlohmann::json с подходом через to_json/ from_json, учимся снижать риск «магических строк» (ключей "id", "title" и т.д.), обсуждаем работу со std::optional, вложенными моделями ( Project с std::vector<Task>), а также показываем практический сценарий сохранения и загрузки через dump() и get<T>().
    Открыта
  • Валидация и дефолты

    C++ SELF
    65 уровень,3 лекция
    Разбираем, почему успешный парсинг ещё не гарантирует корректность данных, как формализовать контракт JSON (обязательные/опциональные/с дефолтом поля), и как в C++ аккуратно валидировать структуру и типы с помощью nlohmann::json. Потренируемся использовать contains(), at(), value() и проверки is_*, отличать «поля нет» от null, а затем безопасно читать данные в struct (включая std::optional<std::string>) и выдавать понятные ошибки вроде "tasks[17]: ...".
    Открыта
  • Версионирование и миграции JSON

    C++ SELF
    65 уровень,4 лекция
    Разбираем, зачем добавлять версию формата в JSON и как переживать изменения структуры без падений: где хранить поле "version", какие изменения считаются безопасными, как построить конвейер «прочитал → определил версию → мигрировал → провалидировал → from_json/ j.get<Model>()», и как реализовать пошаговые миграции на nlohmann::json (пример migrate_v1_to_v2, чтение/запись через dump(2)). В конце — стратегия поддержки версий и типичные ошибки.
    Открыта
Обучение
  • Курсы программирования
  • Регистрация
  • Курс Java
  • Помощь по задачам
  • Цены
Сообщество
  • Пользователи
  • Статьи
  • Форум
  • Чат
  • Истории успеха
  • Активности
Компания
  • О нас
  • Контакты
  • Отзывы
  • FAQ
  • Поддержка
JavaRushJavaRush — это интерактивный онлайн-курс по изучению Java-программирования c нуля. Он содержит 1200 практических задач с проверкой решения в один клик, необходимый минимум теории по основам Java и мотивирующие фишки, которые помогут пройти курс до конца: игры, опросы, интересные проекты и статьи об эффективном обучении и карьере Java‑девелопера.
Подписывайтесь
Язык интерфейса
Русский
English Українська
"Программистами не рождаются" © 2026 JavaRush
MastercardVisa
"Программистами не рождаются" © 2026 JavaRush