C++:
Praca z JSON

Jak to zrobić:

W C++ nie ma natywnego wsparcia dla JSON, jednak biblioteki stron trzecich, takie jak nlohmann/json, ułatwiają pracę. Oto jak jej użyć do podstawowych zadań:

Najpierw upewnij się, że masz zainstalowaną bibliotekę. Jeśli korzystasz z menedżera pakietów takiego jak vcpkg lub Conan, łatwo możesz dodać nlohmann/json do swojego projektu.

Parsowanie JSON z ciągu znaków

#include <iostream>
#include <nlohmann/json.hpp>

int main() {
    // Dane JSON jako ciąg znaków
    std::string jsonData = "{\"name\":\"John\", \"age\":30, \"city\":\"New York\"}";

    // Parsowanie ciągu JSON
    auto jsonObject = nlohmann::json::parse(jsonData);

    // Dostęp do danych
    std::cout << "Name: " << jsonObject["name"] << "\n"
              << "Age: " << jsonObject["age"] << "\n"
              << "City: " << jsonObject["city"] << std::endl;

    return 0;
}

Przykładowe wyjście:

Name: John
Age: 30
City: New York

Generowanie JSON

Tworzenie danych JSON jest równie proste; po prostu przypisujesz wartości do obiektu nlohmann::json.

#include <nlohmann/json.hpp>
#include <iostream>

int main() {
    // Tworzenie obiektu JSON
    nlohmann::json jsonObject;
    jsonObject["name"] = "Jane";
    jsonObject["age"] = 25;
    jsonObject["city"] = "Los Angeles";

    // Konwersja obiektu JSON na ciąg znaków i wydruk
    std::string jsonString = jsonObject.dump(4); // Argument 4 służy do ładnego formatowania
    std::cout << jsonString << std::endl;

    return 0;
}

Przykładowe wyjście:

{
    "name": "Jane",
    "age": 25,
    "city": "Los Angeles"
}

Te przykłady demonstrują podstawowe funkcjonalności pracy z JSON w C++ przy użyciu biblioteki nlohmann/json. Znając te podstawy, możesz parsować i generować JSON dla różnych zastosowań, od plików konfiguracyjnych po wymianę danych w aplikacjach sieciowych.