Sha256: f3e594cf62472ca67c595bcc2018c7c085449e7acd6a03a7cc20807467381958
Contents?: true
Size: 1.39 KB
Versions: 1
Compression:
Stored size: 1.39 KB
Contents
#include <iostream> #include <iomanip> #include <nlohmann/json.hpp> using json = nlohmann::json; // function to print UBJSON's diagnostic format void print_byte(uint8_t byte) { if (32 < byte and byte < 128) { std::cout << (char)byte; } else { std::cout << (int)byte; } } int main() { // create a JSON value json j = R"({"compact": true, "schema": false})"_json; // serialize it to UBJSON std::vector<uint8_t> v = json::to_ubjson(j); // print the vector content for (auto& byte : v) { print_byte(byte); } std::cout << std::endl; // create an array of numbers json array = {1, 2, 3, 4, 5, 6, 7, 8}; // serialize it to UBJSON using default representation std::vector<uint8_t> v_array = json::to_ubjson(array); // serialize it to UBJSON using size optimization std::vector<uint8_t> v_array_size = json::to_ubjson(array, true); // serialize it to UBJSON using type optimization std::vector<uint8_t> v_array_size_and_type = json::to_ubjson(array, true, true); // print the vector contents for (auto& byte : v_array) { print_byte(byte); } std::cout << std::endl; for (auto& byte : v_array_size) { print_byte(byte); } std::cout << std::endl; for (auto& byte : v_array_size_and_type) { print_byte(byte); } std::cout << std::endl; }
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
simdjson-0.3.0 | vendor/simdjson/dependencies/json/doc/examples/to_ubjson.cpp |