| #include <iostream> | |
| #include <nlohmann/json.hpp> | |
| using json = nlohmann::json; | |
| namespace ns | |
| { | |
| // a simple struct to model a person | |
| struct person | |
| { | |
| std::string name; | |
| std::string address; | |
| int age; | |
| }; | |
| } // namespace ns | |
| namespace ns | |
| { | |
| 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); | |
| } | |
| } // namespace ns | |
| int main() | |
| { | |
| json j; | |
| j["name"] = "Ned Flanders"; | |
| j["address"] = "744 Evergreen Terrace"; | |
| j["age"] = 60; | |
| auto p = j.get<ns::person>(); | |
| std::cout << p.name << " (" << p.age << ") lives in " << p.address << std::endl; | |
| } |