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

Function as_a_stream_of_json_events

examples/src/csv_examples.cpp:589–641  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

587}
588
589void as_a_stream_of_json_events()
590{
591 auto options = csv::csv_options{}
592 .assume_header(true);
593
594 csv::csv_string_cursor cursor(data, options);
595
596 for (; !cursor.done(); cursor.next())
597 {
598 const auto& event = cursor.current();
599 switch (event.event_type())
600 {
601 case jsoncons::staj_event_type::begin_array:
602 std::cout << event.event_type() << " " << "\n";
603 break;
604 case jsoncons::staj_event_type::end_array:
605 std::cout << event.event_type() << " " << "\n";
606 break;
607 case jsoncons::staj_event_type::begin_object:
608 std::cout << event.event_type() << " " << "\n";
609 break;
610 case jsoncons::staj_event_type::end_object:
611 std::cout << event.event_type() << " " << "\n";
612 break;
613 case jsoncons::staj_event_type::key:
614 // Or std::string_view, if supported
615 std::cout << event.event_type() << ": " << event.get<jsoncons::string_view>() << "\n";
616 break;
617 case jsoncons::staj_event_type::string_value:
618 // Or std::string_view, if supported
619 std::cout << event.event_type() << ": " << event.get<jsoncons::string_view>() << "\n";
620 break;
621 case jsoncons::staj_event_type::null_value:
622 std::cout << event.event_type() << "\n";
623 break;
624 case jsoncons::staj_event_type::bool_value:
625 std::cout << event.event_type() << ": " << std::boolalpha << event.get<bool>() << "\n";
626 break;
627 case jsoncons::staj_event_type::int64_value:
628 std::cout << event.event_type() << ": " << event.get<int64_t>() << "\n";
629 break;
630 case jsoncons::staj_event_type::uint64_value:
631 std::cout << event.event_type() << ": " << event.get<uint64_t>() << "\n";
632 break;
633 case jsoncons::staj_event_type::double_value:
634 std::cout << event.event_type() << ": " << event.get<double>() << "\n";
635 break;
636 default:
637 std::cout << "Unhandled event type: " << event.event_type() << " " << "\n";
638 break;
639 }
640 }
641}
642
643void grouped_into_basic_json_records()
644{

Callers 1

mainFunction · 0.85

Calls 5

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

Tested by

no test coverage detected