]> git.proxmox.com Git - ceph.git/blame - ceph/src/jaegertracing/opentelemetry-cpp/third_party/nlohmann-json/doc/examples/dump.cpp
update ceph source to reef 18.1.2
[ceph.git] / ceph / src / jaegertracing / opentelemetry-cpp / third_party / nlohmann-json / doc / examples / dump.cpp
CommitLineData
1e59de90
TL
1#include <iostream>
2#include <nlohmann/json.hpp>
3
4using json = nlohmann::json;
5
6int main()
7{
8 // create JSON values
9 json j_object = {{"one", 1}, {"two", 2}};
10 json j_array = {1, 2, 4, 8, 16};
11 json j_string = "Hellö 😀!";
12
13 // call dump()
14 std::cout << "objects:" << '\n'
15 << j_object.dump() << "\n\n"
16 << j_object.dump(-1) << "\n\n"
17 << j_object.dump(0) << "\n\n"
18 << j_object.dump(4) << "\n\n"
19 << j_object.dump(1, '\t') << "\n\n";
20
21 std::cout << "arrays:" << '\n'
22 << j_array.dump() << "\n\n"
23 << j_array.dump(-1) << "\n\n"
24 << j_array.dump(0) << "\n\n"
25 << j_array.dump(4) << "\n\n"
26 << j_array.dump(1, '\t') << "\n\n";
27
28 std::cout << "strings:" << '\n'
29 << j_string.dump() << '\n'
30 << j_string.dump(-1, ' ', true) << '\n';
31
32 // create JSON value with invalid UTF-8 byte sequence
33 json j_invalid = "ä\xA9ü";
34 try
35 {
36 std::cout << j_invalid.dump() << std::endl;
37 }
38 catch (json::type_error& e)
39 {
40 std::cout << e.what() << std::endl;
41 }
42
43 std::cout << "string with replaced invalid characters: "
44 << j_invalid.dump(-1, ' ', false, json::error_handler_t::replace)
45 << "\nstring with ignored invalid characters: "
46 << j_invalid.dump(-1, ' ', false, json::error_handler_t::ignore)
47 << '\n';
48}