método
json
Los objetosj
delperson
sujeto de la estructurap
obtienen datos, necesitan implementarto_json
la función
void to_json(json& j, const person& p) {
j = json{
{"name", p.name}, {"address", p.address}, {"age", p.age}};
}
- Estructura de
person
un objeto ap
partir dejson
la obtención dej
datos del objeto , la necesidad de implementar lafrom_json
funció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_json
y to_json
la 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