1 #include <iostream> 2 #include <nlohmann/json.hpp> 3 4 using json = nlohmann::json; 5 6 namespace ns 7 { 8 // a simple struct to model a person 9 struct person 10 { 11 std::string name; 12 std::string address; 13 int age; 14 }; 15 } // namespace ns 16 17 namespace ns 18 { from_json(const json & j,person & p)19void from_json(const json& j, person& p) 20 { 21 j.at("name").get_to(p.name); 22 j.at("address").get_to(p.address); 23 j.at("age").get_to(p.age); 24 } 25 } // namespace ns 26 main()27int main() 28 { 29 json j; 30 j["name"] = "Ned Flanders"; 31 j["address"] = "744 Evergreen Terrace"; 32 j["age"] = 60; 33 34 auto p = j.get<ns::person>(); 35 36 std::cout << p.name << " (" << p.age << ") lives in " << p.address << std::endl; 37 } 38