JSON para C ++ moderno realiza la conversión de objetos json y datos de estructura

método

  • jsonLos objetos jdel personsujeto de la estructura pobtienen datos, necesitan implementar to_jsonla función
void to_json(json& j, const person& p) {
        j = json{
   
   {"name", p.name}, {"address", p.address}, {"age", p.age}};
    }
  • Estructura de personun objeto a ppartir de jsonla obtención de jdatos del objeto , la necesidad de implementar la from_jsonfunción
void from_json(const json& j, person& p) {
        j.at("name").get_to(p.name);
        j.at("address").get_to(p.address);
        j.at("age").get_to(p.age);
    }
  • uso
json j = p;	//调用 to_json
person p = j.get<person>();	//调用from_json

Código de implementación personal

struct SubModelData{
    std::string module_key_name;
    std::string json_type;
    std::string default_value;
};

void from_json(const nlohmann::json& j,SubModelData& sub_model_data){
    j.at("default_value").get_to(sub_model_data.default_value);
    j.at("json_type").get_to(sub_model_data.json_type);
    j.at("key_name").get_to(sub_model_data.module_key_name);
}

// 使用
SubModelData sub_model_data = j.get<SubModelData>();

Nota: la
función from_jsony to_jsonla declaración de estructura deben colocarse en el mismo espacio de nombres, o no encontrarán la función correspondiente implícitamente llamadas

Más documentos de ayuda: https://github.com/nlohmann/json

Supongo que te gusta

Origin blog.csdn.net/weixin_39139505/article/details/103210458
Recomendado
Clasificación