MCPcopy Create free account
hub / github.com/danielaparker/jsoncons / read_json_parse_events

Function read_json_parse_events

examples/src/json_cursor_examples.cpp:75–127  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

73// JSON input stream by calling next().
74
75void read_json_parse_events()
76{
77 std::ifstream is("./output/book_catalog.json");
78 assert(is);
79
80 json_stream_cursor cursor(is);
81
82 for (; !cursor.done(); cursor.next())
83 {
84 const auto& event = cursor.current();
85 switch (event.event_type())
86 {
87 case staj_event_type::begin_array:
88 std::cout << event.event_type() << " " << "\n";
89 break;
90 case staj_event_type::end_array:
91 std::cout << event.event_type() << " " << "\n";
92 break;
93 case staj_event_type::begin_object:
94 std::cout << event.event_type() << " " << "\n";
95 break;
96 case staj_event_type::end_object:
97 std::cout << event.event_type() << " " << "\n";
98 break;
99 case staj_event_type::key:
100 // Or std::string_view, if supported
101 std::cout << event.event_type() << ": " << event.get<jsoncons::string_view>() << "\n";
102 break;
103 case staj_event_type::string_value:
104 // Or std::string_view, if supported
105 std::cout << event.event_type() << ": " << event.get<jsoncons::string_view>() << "\n";
106 break;
107 case staj_event_type::null_value:
108 std::cout << event.event_type() << "\n";
109 break;
110 case staj_event_type::bool_value:
111 std::cout << event.event_type() << ": " << std::boolalpha << event.get<bool>() << "\n";
112 break;
113 case staj_event_type::int64_value:
114 std::cout << event.event_type() << ": " << event.get<int64_t>() << "\n";
115 break;
116 case staj_event_type::uint64_value:
117 std::cout << event.event_type() << ": " << event.get<uint64_t>() << "\n";
118 break;
119 case staj_event_type::double_value:
120 std::cout << event.event_type() << ": " << event.get<double>() << "\n";
121 break;
122 default:
123 std::cout << "Unhandled event type: " << event.event_type() << " " << "\n";
124 break;
125 }
126 }
127}
128
129// Filtering the stream
130void filtering_a_json_stream()

Callers 1

mainFunction · 0.85

Calls 4

currentMethod · 0.80
event_typeMethod · 0.80
doneMethod · 0.45
nextMethod · 0.45

Tested by

no test coverage detected