C++:
Lavorare con JSON

Come fare:

In C++, non c’è un supporto nativo per JSON, ma librerie di terze parti come nlohmann/json rendono il processo diretto. Ecco come utilizzarla per attività di base:

Prima, assicurati di avere installato la libreria. Se stai usando un gestore di pacchetti come vcpkg o Conan, puoi facilmente aggiungere nlohmann/json al tuo progetto.

Analizzare JSON da una stringa

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

int main() {
    // Dati JSON come stringa
    std::string jsonData = "{\"name\":\"John\", \"age\":30, \"city\":\"New York\"}";

    // Analizza la stringa JSON
    auto jsonObject = nlohmann::json::parse(jsonData);

    // Accesso ai dati
    std::cout << "Nome: " << jsonObject["name"] << "\n"
              << "Età: " << jsonObject["age"] << "\n"
              << "Città: " << jsonObject["city"] << std::endl;

    return 0;
}

Output dell’esempio:

Nome: John
Età: 30
Città: New York

Generare JSON

Creare dati JSON è altrettanto semplice; basta assegnare valori a un oggetto nlohmann::json.

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

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

    // Convertire l'oggetto JSON in stringa e stampare
    std::string jsonString = jsonObject.dump(4); // Argomento 4 per la stampa formattata
    std::cout << jsonString << std::endl;

    return 0;
}

Output dell’esempio:

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

Questi esempi dimostrano la funzionalità di base per lavorare con JSON in C++ utilizzando la libreria nlohmann/json. Con queste basi, puoi analizzare e generare JSON per varie applicazioni, dai file di configurazione allo scambio di dati in applicazioni di rete.