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

Indexes created Thu Nov 07 10:32:03 CST 2024