xref: /third_party/json/docs/examples/to_json.cpp (revision c5f01b2f)
1#include <iostream>
2#include <nlohmann/json.hpp>
3
4using json = nlohmann::json;
5
6namespace ns
7{
8// a simple struct to model a person
9struct person
10{
11    std::string name;
12    std::string address;
13    int age;
14};
15} // namespace ns
16
17namespace ns
18{
19void to_json(json& j, const person& p)
20{
21    j = json{ {"name", p.name}, {"address", p.address}, {"age", p.age} };
22}
23} // namespace ns
24
25int main()
26{
27    ns::person p = {"Ned Flanders", "744 Evergreen Terrace", 60};
28
29    json j = p;
30
31    std::cout << j << std::endl;
32}
33