C++:
Работа с JSON
Как это сделать:
Для работы с JSON на C++ вам понадобится использовать библиотеку, например, nlohmann/json
. Вот как можно разобрать и сгенерировать данные JSON:
#include <iostream>
#include <nlohmann/json.hpp>
int main() {
// Разбор JSON
std::string str = R"({"name":"John", "age":30, "city":"New York"})";
nlohmann::json parsed = nlohmann::json::parse(str);
// Доступ к элементам
std::cout << "Имя: " << parsed["name"] << std::endl;
std::cout << "Возраст: " << parsed["age"] << std::endl;
// Генерация JSON
nlohmann::json j;
j["name"] = "Jane";
j["age"] = 25;
j["city"] = "Los Angeles";
std::cout << "Сгенерированный JSON: " << j.dump(4) << std::endl;
return 0;
}
Пример вывода:
Имя: John
Возраст: 30
Сгенерированный JSON: {
"age": 25,
"city": "Los Angeles",
"name": "Jane"
}
Подробнее:
JSON был представлен как простой текстовый формат для обмена данными и стал стандартом благодаря своей простоте и широкому распространению. Существуют альтернативы, например, XML, но JSON лидирует в веб-API благодаря меньшему количеству вербализма и лучшей читаемости. C++ не имеет встроенной поддержки JSON, поэтому библиотеки вроде nlohmann/json
популярны для обработки сериализации и десериализации, предлагая чистый API, который имитирует работу с нативными типами данных.
Смотрите также:
- GitHub-репозиторий для
nlohmann/json
: https://github.com/nlohmann/json - Официальный сайт JSON для дополнительной информации о формате: https://www.json.org/json-en.html
- Для работы с XML на C++: https://pugixml.org/
- Страница на Cppreference о потоках строк для продвинутой работы со строками на C++: https://en.cppreference.com/w/cpp/io/basic_stringstream