value у nlohmann::json принимает имя поля и запасной литерал: если ключ отсутствует.">
Следите за новинками
в нашем Telegram канале. Жми, чтобы подписаться:)
⊗cpSpSrDf 594 of 696 menu
◀ ▶

Значение по умолчанию в C++

Внешний файл редко содержит полный набор ключей.

Метод value у nlohmann::json принимает имя поля и запасной литерал: если ключ отсутствует, возвращается второй аргумент без исключения. Так задают город по умолчанию:

#include <iostream> #include <nlohmann/json.hpp> #include <string> int main() { std::string raw = R"({"font_size":16})"; nlohmann::json prefs = nlohmann::json::parse(raw); std::string theme = prefs.value("theme", "light"); int font_size = prefs.at("font_size").get<int>(); std::cout << theme << "\n"; std::cout << font_size << "\n"; return 0; }

Ключ theme в тексте не встречается, поэтому value отдает "light". Для обязательного font_size по-прежнему используют at или [].

Тот же прием подходит для строки "none", когда адрес не указан:

#include <iostream> #include <nlohmann/json.hpp> #include <string> int main() { nlohmann::json profile = nlohmann::json::parse(R"({"name":"Ann"})"); std::string city = profile.value("city", "none"); std::cout << city << "\n"; return 0; }

Из {"priority":2} возьмите канал через value с запасом "email" и приоритет через at. Выведите оба значения на отдельных строках.

Разберите {"salary":900}, прочитайте роль с default "intern" и зарплату. Выведите роль, пробел и зарплату в одной строке.

← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить