xref: /third_party/json/docs/examples/to_bson.cpp
  • Home
  • History
  • Annotate Annotate
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
  • only in /third_party/json/docs/examples/
1c5f01b2fSopenharmony_ci#include <iostream>
2c5f01b2fSopenharmony_ci#include <iomanip>
3c5f01b2fSopenharmony_ci#include <nlohmann/json.hpp>
4c5f01b2fSopenharmony_ci
5c5f01b2fSopenharmony_ciusing json = nlohmann::json;
6c5f01b2fSopenharmony_ciusing namespace nlohmann::literals;
7c5f01b2fSopenharmony_ci
8c5f01b2fSopenharmony_ciint main()
9c5f01b2fSopenharmony_ci{
10c5f01b2fSopenharmony_ci    // create a JSON value
11c5f01b2fSopenharmony_ci    json j = R"({"compact": true, "schema": 0})"_json;
12c5f01b2fSopenharmony_ci
13c5f01b2fSopenharmony_ci    // serialize it to BSON
14c5f01b2fSopenharmony_ci    std::vector<std::uint8_t> v = json::to_bson(j);
15c5f01b2fSopenharmony_ci
16c5f01b2fSopenharmony_ci    // print the vector content
17c5f01b2fSopenharmony_ci    for (auto& byte : v)
18c5f01b2fSopenharmony_ci    {
19c5f01b2fSopenharmony_ci        std::cout << "0x" << std::hex << std::setw(2) << std::setfill('0') << (int)byte << " ";
20c5f01b2fSopenharmony_ci    }
21c5f01b2fSopenharmony_ci    std::cout << std::endl;
22c5f01b2fSopenharmony_ci}
23

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