| #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.template get<ns::person>(); |
| |
| std::cout << p.name << " (" << p.age << ") lives in " << p.address << std::endl; |
| } |