h1-mod/deps/json/docs/examples/from_json__default_constructible.cpp

38 lines
664 B
C++
Raw Normal View History

2024-03-07 00:54:15 -05:00
#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;
}