Lines Matching full:json
2 // __| | __| | | | JSON for Modern C++ (supporting code)
4 // |_____|_____|_____|_|___| https://github.com/nlohmann/json
11 #include <nlohmann/json.hpp>
12 using nlohmann::json;
38 bool number_integer(json::number_integer_t /*unused*/) in number_integer()
43 bool number_unsigned(json::number_unsigned_t /*unused*/) in number_unsigned()
48 bool number_float(json::number_float_t /*unused*/, const std::string& /*unused*/) in number_float()
88 …bool parse_error(std::size_t /*unused*/, const std::string& /*unused*/, const json::exception& /*u… in parse_error()
105 json const j = json::value_t::discarded;
106 const auto result = json::to_ubjson(j);
112 json const j = nullptr;
114 const auto result = json::to_ubjson(j);
118 CHECK(json::from_ubjson(result) == j);
119 CHECK(json::from_ubjson(result, true, false) == j);
126 json const j = true;
128 const auto result = json::to_ubjson(j);
132 CHECK(json::from_ubjson(result) == j);
133 CHECK(json::from_ubjson(result, true, false) == j);
138 json const j = false;
140 const auto result = json::to_ubjson(j);
144 CHECK(json::from_ubjson(result) == j);
145 CHECK(json::from_ubjson(result, true, false) == j);
173 // create JSON value with integer number
174 json const j = i;
194 const auto result = json::to_ubjson(j);
211 CHECK(json::from_ubjson(result) == j);
212 CHECK(json::from_ubjson(result, true, false) == j);
230 // create JSON value with integer number
231 json const j = i;
247 const auto result = json::to_ubjson(j);
260 CHECK(json::from_ubjson(result) == j);
261 CHECK(json::from_ubjson(result, true, false) == j);
271 // create JSON value with integer number
272 json const j = i;
286 const auto result = json::to_ubjson(j);
296 CHECK(json::from_ubjson(result) == j);
297 CHECK(json::from_ubjson(result, true, false) == j);
303 json const j = -9263;
307 const auto result = json::to_ubjson(j);
317 CHECK(json::from_ubjson(result) == j);
318 CHECK(json::from_ubjson(result, true, false) == j);
327 // create JSON value with integer number
328 json const j = i;
341 const auto result = json::to_ubjson(j);
350 CHECK(json::from_ubjson(result) == j);
351 CHECK(json::from_ubjson(result, true, false) == j);
361 // create JSON value with integer number
362 json j = -1;
363 … j.get_ref<json::number_integer_t&>() = static_cast<json::number_integer_t>(i);
376 const auto result = json::to_ubjson(j);
385 CHECK(json::from_ubjson(result) == j);
386 CHECK(json::from_ubjson(result, true, false) == j);
396 // create JSON value with integer number
397 json j = -1;
398 … j.get_ref<json::number_integer_t&>() = static_cast<json::number_integer_t>(i);
411 const auto result = json::to_ubjson(j);
420 CHECK(json::from_ubjson(result) == j);
421 CHECK(json::from_ubjson(result, true, false) == j);
431 // create JSON value with integer number
432 json j = -1;
433 … j.get_ref<json::number_integer_t&>() = static_cast<json::number_integer_t>(i);
447 const auto result = json::to_ubjson(j);
457 CHECK(json::from_ubjson(result) == j);
458 CHECK(json::from_ubjson(result, true, false) == j);
471 // create JSON value with integer number
472 json j = -1;
473 … j.get_ref<json::number_integer_t&>() = static_cast<json::number_integer_t>(i);
489 const auto result = json::to_ubjson(j);
502 CHECK(json::from_ubjson(result) == j);
503 CHECK(json::from_ubjson(result, true, false) == j);
514 // create JSON value with integer number
515 json j = -1;
516 … j.get_ref<json::number_integer_t&>() = static_cast<json::number_integer_t>(i);
536 const auto result = json::to_ubjson(j);
553 CHECK(json::from_ubjson(result) == j);
554 CHECK(json::from_ubjson(result, true, false) == j);
567 // create JSON value with unsigned integer number
568 json const j = i;
581 const auto result = json::to_ubjson(j);
591 CHECK(json::from_ubjson(result) == j);
592 CHECK(json::from_ubjson(result, true, false) == j);
602 // create JSON value with unsigned integer number
603 json const j = i;
616 const auto result = json::to_ubjson(j);
626 CHECK(json::from_ubjson(result) == j);
627 CHECK(json::from_ubjson(result, true, false) == j);
637 // create JSON value with unsigned integer number
638 json const j = i;
652 const auto result = json::to_ubjson(j);
662 CHECK(json::from_ubjson(result) == j);
663 CHECK(json::from_ubjson(result, true, false) == j);
676 // create JSON value with unsigned integer number
677 json const j = i;
693 const auto result = json::to_ubjson(j);
706 CHECK(json::from_ubjson(result) == j);
707 CHECK(json::from_ubjson(result, true, false) == j);
718 // create JSON value with integer number
719 json const j = i;
739 const auto result = json::to_ubjson(j);
756 CHECK(json::from_ubjson(result) == j);
757 CHECK(json::from_ubjson(result, true, false) == j);
767 json const j = v;
772 const auto result = json::to_ubjson(j);
776 CHECK(json::from_ubjson(result) == j);
777 CHECK(json::from_ubjson(result) == v);
778 CHECK(json::from_ubjson(result, true, false) == j);
787 const auto j = json::from_ubjson(vec);
795 const auto j = json::from_ubjson(vec);
803 const auto j = json::from_ubjson(vec);
812 CHECK(json::from_ubjson(vec0, true, false).is_discarded());
815 CHECK(json::from_ubjson(vec1, true, false).is_discarded());
817 json _;
819 …json::from_ubjson(vec2), "[json.exception.parse_error.115] parse error at byte 5: syntax error whi…
821 …json::from_ubjson(vec3), "[json.exception.parse_error.115] parse error at byte 5: syntax error whi…
823 …json::from_ubjson(vec4), "[json.exception.parse_error.113] parse error at byte 2: syntax error whi…
829 json const j = 11111111111111111111ULL;
833 const auto vec = json::to_ubjson(j);
838 CHECK(json::from_ubjson(vec) == j);
851 // create JSON value with string containing of N * 'x'
853 json const j = s;
866 const auto result = json::to_ubjson(j);
876 CHECK(json::from_ubjson(result) == j);
877 CHECK(json::from_ubjson(result, true, false) == j);
887 // create JSON value with string containing of N * 'x'
889 json const j = s;
902 const auto result = json::to_ubjson(j);
909 CHECK(json::from_ubjson(result) == j);
910 CHECK(json::from_ubjson(result, true, false) == j);
923 // create JSON value with string containing of N * 'x'
925 json const j = s;
936 const auto result = json::to_ubjson(j);
943 CHECK(json::from_ubjson(result) == j);
944 CHECK(json::from_ubjson(result, true, false) == j);
957 // create JSON value with string containing of N * 'x'
959 json const j = s;
972 const auto result = json::to_ubjson(j);
979 CHECK(json::from_ubjson(result) == j);
980 CHECK(json::from_ubjson(result, true, false) == j);
993 // create JSON value with byte array containing of N * 'x'
995 json const j = json::binary(s);
1014 const auto result = json::to_ubjson(j, true, true);
1032 json j_out = s;
1033 CHECK(json::from_ubjson(result) == j_out);
1034 CHECK(json::from_ubjson(result, true, false) == j_out);
1044 // create JSON value with byte array containing of N * 'x'
1046 json const j = json::binary(s);
1062 const auto result = json::to_ubjson(j, true, true);
1069 json j_out = s;
1070 CHECK(json::from_ubjson(result) == j_out);
1071 CHECK(json::from_ubjson(result, true, false) == j_out);
1084 // create JSON value with byte array containing of N * 'x'
1086 json const j = json::binary(s);
1099 const auto result = json::to_ubjson(j, true, true);
1106 json j_out = s;
1107 CHECK(json::from_ubjson(result) == j_out);
1108 CHECK(json::from_ubjson(result, true, false) == j_out);
1121 // create JSON value with byte array containing of N * 'x'
1123 json const j = json::binary(s);
1138 const auto result = json::to_ubjson(j, true, true);
1145 json j_out = s;
1146 CHECK(json::from_ubjson(result) == j_out);
1147 CHECK(json::from_ubjson(result, true, false) == j_out);
1155 json const j = json::binary(s);
1169 const auto result = json::to_ubjson(j, false, false);
1176 json j_out = s;
1177 CHECK(json::from_ubjson(result) == j_out);
1178 CHECK(json::from_ubjson(result, true, false) == j_out);
1196 const auto result = json::to_ubjson(j, true, false);
1203 json j_out = s;
1204 CHECK(json::from_ubjson(result) == j_out);
1205 CHECK(json::from_ubjson(result, true, false) == j_out);
1216 json const j = json::array();
1218 const auto result = json::to_ubjson(j);
1222 CHECK(json::from_ubjson(result) == j);
1223 CHECK(json::from_ubjson(result, true, false) == j);
1228 json const j = json::array();
1230 const auto result = json::to_ubjson(j, true);
1234 CHECK(json::from_ubjson(result) == j);
1235 CHECK(json::from_ubjson(result, true, false) == j);
1240 json const j = json::array();
1242 const auto result = json::to_ubjson(j, true, true);
1246 CHECK(json::from_ubjson(result) == j);
1247 CHECK(json::from_ubjson(result, true, false) == j);
1255 json const j = {nullptr};
1257 const auto result = json::to_ubjson(j);
1261 CHECK(json::from_ubjson(result) == j);
1262 CHECK(json::from_ubjson(result, true, false) == j);
1267 json const j = {nullptr};
1269 const auto result = json::to_ubjson(j, true);
1273 CHECK(json::from_ubjson(result) == j);
1274 CHECK(json::from_ubjson(result, true, false) == j);
1279 json const j = {nullptr};
1281 const auto result = json::to_ubjson(j, true, true);
1285 CHECK(json::from_ubjson(result) == j);
1286 CHECK(json::from_ubjson(result, true, false) == j);
1294 json const j = json::parse("[1,2,3,4,5]");
1296 const auto result = json::to_ubjson(j);
1300 CHECK(json::from_ubjson(result) == j);
1301 CHECK(json::from_ubjson(result, true, false) == j);
1306 json const j = json::parse("[1,2,3,4,5]");
1308 const auto result = json::to_ubjson(j, true);
1312 CHECK(json::from_ubjson(result) == j);
1313 CHECK(json::from_ubjson(result, true, false) == j);
1318 json const j = json::parse("[1,2,3,4,5]");
1320 const auto result = json::to_ubjson(j, true, true);
1324 CHECK(json::from_ubjson(result) == j);
1325 CHECK(json::from_ubjson(result, true, false) == j);
1333 json const j = json::parse("[[[[]]]]");
1335 const auto result = json::to_ubjson(j);
1339 CHECK(json::from_ubjson(result) == j);
1340 CHECK(json::from_ubjson(result, true, false) == j);
1345 json const j = json::parse("[[[[]]]]");
1347 const auto result = json::to_ubjson(j, true);
1351 CHECK(json::from_ubjson(result) == j);
1352 CHECK(json::from_ubjson(result, true, false) == j);
1357 json const j = json::parse("[[[[]]]]");
1359 const auto result = json::to_ubjson(j, true, true);
1363 CHECK(json::from_ubjson(result) == j);
1364 CHECK(json::from_ubjson(result, true, false) == j);
1372 json j(257, nullptr);
1376 const auto result = json::to_ubjson(j);
1380 CHECK(json::from_ubjson(result) == j);
1381 CHECK(json::from_ubjson(result, true, false) == j);
1386 json j(257, nullptr);
1393 const auto result = json::to_ubjson(j, true);
1397 CHECK(json::from_ubjson(result) == j);
1398 CHECK(json::from_ubjson(result, true, false) == j);
1403 json j(257, nullptr);
1405 const auto result = json::to_ubjson(j, true, true);
1409 CHECK(json::from_ubjson(result) == j);
1410 CHECK(json::from_ubjson(result, true, false) == j);
1418 json j(65793, nullptr);
1422 const auto result = json::to_ubjson(j);
1426 CHECK(json::from_ubjson(result) == j);
1427 CHECK(json::from_ubjson(result, true, false) == j);
1432 json j(65793, nullptr);
1441 const auto result = json::to_ubjson(j, true);
1445 CHECK(json::from_ubjson(result) == j);
1446 CHECK(json::from_ubjson(result, true, false) == j);
1451 json j(65793, nullptr);
1453 const auto result = json::to_ubjson(j, true, true);
1457 CHECK(json::from_ubjson(result) == j);
1458 CHECK(json::from_ubjson(result, true, false) == j);
1469 json const j = json::object();
1471 const auto result = json::to_ubjson(j);
1475 CHECK(json::from_ubjson(result) == j);
1476 CHECK(json::from_ubjson(result, true, false) == j);
1481 json const j = json::object();
1483 const auto result = json::to_ubjson(j, true);
1487 CHECK(json::from_ubjson(result) == j);
1488 CHECK(json::from_ubjson(result, true, false) == j);
1493 json const j = json::object();
1495 const auto result = json::to_ubjson(j, true, true);
1499 CHECK(json::from_ubjson(result) == j);
1500 CHECK(json::from_ubjson(result, true, false) == j);
1508 json const j = {{"", nullptr}};
1510 const auto result = json::to_ubjson(j);
1514 CHECK(json::from_ubjson(result) == j);
1515 CHECK(json::from_ubjson(result, true, false) == j);
1520 json const j = {{"", nullptr}};
1522 const auto result = json::to_ubjson(j, true);
1526 CHECK(json::from_ubjson(result) == j);
1527 CHECK(json::from_ubjson(result, true, false) == j);
1532 json const j = {{"", nullptr}};
1534 const auto result = json::to_ubjson(j, true, true);
1538 CHECK(json::from_ubjson(result) == j);
1539 CHECK(json::from_ubjson(result, true, false) == j);
1547 json const j = json::parse(R"({"a": {"b": {"c": {}}}})");
1552 const auto result = json::to_ubjson(j);
1556 CHECK(json::from_ubjson(result) == j);
1557 CHECK(json::from_ubjson(result, true, false) == j);
1562 json const j = json::parse(R"({"a": {"b": {"c": {}}}})");
1567 const auto result = json::to_ubjson(j, true);
1571 CHECK(json::from_ubjson(result) == j);
1572 CHECK(json::from_ubjson(result, true, false) == j);
1577 json const j = json::parse(R"({"a": {"b": {"c": {}}}})");
1582 const auto result = json::to_ubjson(j, true, true);
1586 CHECK(json::from_ubjson(result) == j);
1587 CHECK(json::from_ubjson(result, true, false) == j);
1600 const auto result = json::from_ubjson(vec, false);
1601 CHECK(result == json());
1606 json _;
1607 …json::from_ubjson(vec), "[json.exception.parse_error.110] parse error at byte 2: syntax error whil…
1616 json _;
1617 CHECK_THROWS_AS(_ = json::from_ubjson(v_ubjson), json::out_of_range&);
1619 json j;
1620 …::detail::json_sax_dom_callback_parser<json> scp(j, [](int /*unused*/, json::parse_event_t /*unuse…
1624 …CHECK_THROWS_AS(_ = json::sax_parse(v_ubjson, &scp, json::input_format_t::ubjson), json::out_of_ra…
1630 json _;
1631 CHECK_THROWS_AS(_ = json::from_ubjson(v_ubjson), json::out_of_range&);
1633 json j;
1634 …::detail::json_sax_dom_callback_parser<json> scp(j, [](int /*unused*/, json::parse_event_t /*unuse…
1638 …CHECK_THROWS_AS(_ = json::sax_parse(v_ubjson, &scp, json::input_format_t::ubjson), json::out_of_ra…
1649 CHECK(!json::sax_parse(v, &scp, json::input_format_t::ubjson));
1656 CHECK(!json::sax_parse(v, &scp, json::input_format_t::ubjson));
1663 CHECK(!json::sax_parse(v, &scp, json::input_format_t::ubjson));
1670 CHECK(!json::sax_parse(v, &scp, json::input_format_t::ubjson));
1677 CHECK(!json::sax_parse(v, &scp, json::input_format_t::ubjson));
1684 CHECK(!json::sax_parse(v, &scp, json::input_format_t::ubjson));
1700 CHECK(json::from_ubjson(s_i) == "a");
1701 CHECK(json::from_ubjson(s_U) == "a");
1702 CHECK(json::from_ubjson(s_I) == "a");
1703 CHECK(json::from_ubjson(s_l) == "a");
1704 CHECK(json::from_ubjson(s_L) == "a");
1707 CHECK(json::to_ubjson(json::from_ubjson(s_i)) == s_i);
1708 CHECK(json::to_ubjson(json::from_ubjson(s_U)) == s_i);
1709 CHECK(json::to_ubjson(json::from_ubjson(s_I)) == s_i);
1710 CHECK(json::to_ubjson(json::from_ubjson(s_l)) == s_i);
1711 CHECK(json::to_ubjson(json::from_ubjson(s_L)) == s_i);
1720 CHECK(json::from_ubjson(v_d) == 3.14159f);
1724 CHECK(json::from_ubjson(v_D) == 3.14159);
1727 CHECK(json::to_ubjson(json::from_ubjson(v_d)) == json::to_ubjson(3.14159f));
1750 CHECK(json::from_ubjson(v_TU) == json({true, true}));
1751 CHECK(json::from_ubjson(v_T) == json({true, true}));
1752 CHECK(json::from_ubjson(v_F) == json({false, false}));
1753 CHECK(json::from_ubjson(v_Z) == json({nullptr, nullptr}));
1754 CHECK(json::from_ubjson(v_i) == json({127, 127}));
1755 CHECK(json::from_ubjson(v_U) == json({255, 255}));
1756 CHECK(json::from_ubjson(v_I) == json({32767, 32767}));
1757 CHECK(json::from_ubjson(v_l) == json({2147483647, 2147483647}));
1758 CHECK(json::from_ubjson(v_L) == json({9223372036854775807, 9223372036854775807}));
1759 CHECK(json::from_ubjson(v_D) == json({3.1415926, 3.1415926}));
1760 CHECK(json::from_ubjson(v_S) == json({"a", "a"}));
1761 CHECK(json::from_ubjson(v_C) == json({"a", "a"}));
1764 CHECK(json::to_ubjson(json::from_ubjson(v_T), true) == v_T);
1765 CHECK(json::to_ubjson(json::from_ubjson(v_F), true) == v_F);
1766 CHECK(json::to_ubjson(json::from_ubjson(v_Z), true) == v_Z);
1767 CHECK(json::to_ubjson(json::from_ubjson(v_i), true) == v_i);
1768 CHECK(json::to_ubjson(json::from_ubjson(v_U), true) == v_U);
1769 CHECK(json::to_ubjson(json::from_ubjson(v_I), true) == v_I);
1770 CHECK(json::to_ubjson(json::from_ubjson(v_l), true) == v_l);
1771 CHECK(json::to_ubjson(json::from_ubjson(v_L), true) == v_L);
1772 CHECK(json::to_ubjson(json::from_ubjson(v_D), true) == v_D);
1773 CHECK(json::to_ubjson(json::from_ubjson(v_S), true) == v_S);
1774 … CHECK(json::to_ubjson(json::from_ubjson(v_C), true) == v_S); // char is serialized to string
1794 CHECK(json::from_ubjson(v_N) == json::array());
1795 CHECK(json::from_ubjson(v_T) == json({true, true}));
1796 CHECK(json::from_ubjson(v_F) == json({false, false}));
1797 CHECK(json::from_ubjson(v_Z) == json({nullptr, nullptr}));
1798 CHECK(json::from_ubjson(v_i) == json({127, 127}));
1799 CHECK(json::from_ubjson(v_U) == json({255, 255}));
1800 CHECK(json::from_ubjson(v_I) == json({32767, 32767}));
1801 CHECK(json::from_ubjson(v_l) == json({2147483647, 2147483647}));
1802 CHECK(json::from_ubjson(v_L) == json({9223372036854775807, 9223372036854775807}));
1803 CHECK(json::from_ubjson(v_D) == json({3.1415926, 3.1415926}));
1804 CHECK(json::from_ubjson(v_S) == json({"a", "a"}));
1805 CHECK(json::from_ubjson(v_C) == json({"a", "a"}));
1809 CHECK(json::to_ubjson(json::from_ubjson(v_N), true, true) == v_empty);
1810 CHECK(json::to_ubjson(json::from_ubjson(v_T), true, true) == v_T);
1811 CHECK(json::to_ubjson(json::from_ubjson(v_F), true, true) == v_F);
1812 CHECK(json::to_ubjson(json::from_ubjson(v_Z), true, true) == v_Z);
1813 CHECK(json::to_ubjson(json::from_ubjson(v_i), true, true) == v_i);
1814 CHECK(json::to_ubjson(json::from_ubjson(v_U), true, true) == v_U);
1815 CHECK(json::to_ubjson(json::from_ubjson(v_I), true, true) == v_I);
1816 CHECK(json::to_ubjson(json::from_ubjson(v_l), true, true) == v_l);
1817 CHECK(json::to_ubjson(json::from_ubjson(v_L), true, true) == v_L);
1818 CHECK(json::to_ubjson(json::from_ubjson(v_D), true, true) == v_D);
1819 CHECK(json::to_ubjson(json::from_ubjson(v_S), true, true) == v_S);
1820 … CHECK(json::to_ubjson(json::from_ubjson(v_C), true, true) == v_S); // char is serialized to string
1829 json _;
1830 …json::from_ubjson(std::vector<uint8_t>()), "[json.exception.parse_error.110] parse error at byte 1…
1838 json _;
1839 …= json::from_ubjson(v), "[json.exception.parse_error.110] parse error at byte 2: syntax error whil…
1845 json _;
1846 …json::from_ubjson(v), "[json.exception.parse_error.113] parse error at byte 2: syntax error while …
1855 json _;
1856 … json::from_ubjson(v), "[json.exception.parse_error.110] parse error at byte 2: syntax error while…
1862 json _;
1863 …json::from_ubjson(v), "[json.exception.parse_error.113] parse error at byte 2: syntax error while …
1872 json _;
1873 …json::from_ubjson(v), "[json.exception.parse_error.112] parse error at byte 4: syntax error while …
1880 json _;
1881 … json::from_ubjson(vS), "[json.exception.parse_error.110] parse error at byte 2: syntax error whil…
1882 CHECK(json::from_ubjson(vS, true, false).is_discarded());
1885 … json::from_ubjson(v), "[json.exception.parse_error.110] parse error at byte 5: syntax error while…
1886 CHECK(json::from_ubjson(v, true, false).is_discarded());
1889 … json::from_ubjson(vC), "[json.exception.parse_error.110] parse error at byte 2: syntax error whil…
1890 CHECK(json::from_ubjson(vC, true, false).is_discarded());
1896 json _;
1897 …json::from_ubjson(vU), "[json.exception.parse_error.110] parse error at byte 4: syntax error while…
1898 CHECK(json::from_ubjson(vU, true, false).is_discarded());
1901 …json::from_ubjson(vi), "[json.exception.parse_error.110] parse error at byte 4: syntax error while…
1902 CHECK(json::from_ubjson(vi, true, false).is_discarded());
1905 …json::from_ubjson(vI), "[json.exception.parse_error.110] parse error at byte 4: syntax error while…
1906 CHECK(json::from_ubjson(vI, true, false).is_discarded());
1909 …json::from_ubjson(vl), "[json.exception.parse_error.110] parse error at byte 4: syntax error while…
1910 CHECK(json::from_ubjson(vl, true, false).is_discarded());
1913 …json::from_ubjson(vL), "[json.exception.parse_error.110] parse error at byte 4: syntax error while…
1914 CHECK(json::from_ubjson(vL, true, false).is_discarded());
1917 …json::from_ubjson(v0), "[json.exception.parse_error.113] parse error at byte 3: syntax error while…
1918 CHECK(json::from_ubjson(v0, true, false).is_discarded());
1924 json _;
1925 … json::from_ubjson(v0), "[json.exception.parse_error.110] parse error at byte 3: syntax error whil…
1926 CHECK(json::from_ubjson(v0, true, false).is_discarded());
1929 … json::from_ubjson(vi), "[json.exception.parse_error.110] parse error at byte 4: syntax error whil…
1930 CHECK(json::from_ubjson(vi, true, false).is_discarded());
1933 … json::from_ubjson(vT), "[json.exception.parse_error.110] parse error at byte 4: syntax error whil…
1934 CHECK(json::from_ubjson(vT, true, false).is_discarded());
1940 json _;
1941 …json::from_ubjson(vST), "[json.exception.parse_error.110] parse error at byte 8: syntax error whil…
1942 CHECK(json::from_ubjson(vST, true, false).is_discarded());
1945 … json::from_ubjson(vS), "[json.exception.parse_error.110] parse error at byte 7: syntax error whil…
1946 CHECK(json::from_ubjson(vS, true, false).is_discarded());
1949 … json::from_ubjson(v), "[json.exception.parse_error.110] parse error at byte 6: syntax error while…
1950 CHECK(json::from_ubjson(v, true, false).is_discarded());
1956 json _;
1957 …json::from_ubjson(vST), "[json.exception.parse_error.110] parse error at byte 11: syntax error whi…
1958 CHECK(json::from_ubjson(vST, true, false).is_discarded());
1961 …json::from_ubjson(vT), "[json.exception.parse_error.112] parse error at byte 4: syntax error while…
1962 CHECK(json::from_ubjson(vT, true, false).is_discarded());
1965 …json::from_ubjson(vS), "[json.exception.parse_error.110] parse error at byte 10: syntax error whil…
1966 CHECK(json::from_ubjson(vS, true, false).is_discarded());
1969 … json::from_ubjson(v), "[json.exception.parse_error.110] parse error at byte 7: syntax error while…
1970 CHECK(json::from_ubjson(v, true, false).is_discarded());
1973 …json::from_ubjson(v2), "[json.exception.parse_error.110] parse error at byte 8: syntax error while…
1974 CHECK(json::from_ubjson(v2, true, false).is_discarded());
1977 … json::from_ubjson(v3), "[json.exception.parse_error.110] parse error at byte 5: syntax error whil…
1978 CHECK(json::from_ubjson(v3, true, false).is_discarded());
1981 …json::from_ubjson(vST1), "[json.exception.parse_error.110] parse error at byte 10: syntax error wh…
1982 CHECK(json::from_ubjson(vST1, true, false).is_discarded());
1985 …json::from_ubjson(vST2), "[json.exception.parse_error.110] parse error at byte 8: syntax error whi…
1986 CHECK(json::from_ubjson(vST2, true, false).is_discarded());
1996 json const j = {1, -1};
1998 CHECK(json::to_ubjson(j, true, true) == expected);
2003 json const j = {200, 201};
2005 CHECK(json::to_ubjson(j, true, true) == expected);
2010 json const j = {30000, -30000};
2012 CHECK(json::to_ubjson(j, true, true) == expected);
2017 json const j = {70000, -70000};
2019 CHECK(json::to_ubjson(j, true, true) == expected);
2024 json const j = {5000000000, -5000000000};
2026 CHECK(json::to_ubjson(j, true, true) == expected);
2034 json const j = {1u, 2u};
2037 CHECK(json::to_ubjson(j, true, true) == expected);
2038 CHECK(json::to_ubjson(j, true) == expected_size);
2043 json const j = {200u, 201u};
2046 CHECK(json::to_ubjson(j, true, true) == expected);
2047 CHECK(json::to_ubjson(j, true) == expected_size);
2052 json const j = {30000u, 30001u};
2055 CHECK(json::to_ubjson(j, true, true) == expected);
2056 CHECK(json::to_ubjson(j, true) == expected_size);
2061 json const j = {70000u, 70001u};
2064 CHECK(json::to_ubjson(j, true, true) == expected);
2065 CHECK(json::to_ubjson(j, true) == expected_size);
2070 json const j = {5000000000u, 5000000001u};
2073 CHECK(json::to_ubjson(j, true, true) == expected);
2074 CHECK(json::to_ubjson(j, true) == expected_size);
2080 json const j = {json::value_t::discarded, json::value_t::discarded};
2082 CHECK(json::to_ubjson(j, true, true) == expected);
2087 TEST_CASE("Universal Binary JSON Specification Examples 1")
2091 json const j = {{"passcode", nullptr}};
2093 CHECK(json::to_ubjson(j) == v);
2094 CHECK(json::from_ubjson(v) == j);
2099 json const j = {"foo", "bar", "baz"};
2108 CHECK(json::to_ubjson(j) == v);
2109 CHECK(json::from_ubjson(v) == j);
2110 CHECK(json::from_ubjson(v2) == j);
2115 json const j = {{"authorized", true}, {"verified", false}};
2119 CHECK(json::to_ubjson(j) == v);
2120 CHECK(json::from_ubjson(v) == j);
2125 json const j =
2143 CHECK(json::to_ubjson(j) == v);
2144 CHECK(json::from_ubjson(v) == j);
2149 json const j = {{"rolecode", "a"}, {"delim", ";"}};
2151 //CHECK(json::to_ubjson(j) == v);
2152 CHECK(json::from_ubjson(v) == j);
2159 json const j = "hello";
2161 CHECK(json::to_ubjson(j) == v);
2162 CHECK(json::from_ubjson(v) == j);
2167 json const j = "привет";
2169 CHECK(json::to_ubjson(j) == v);
2170 CHECK(json::from_ubjson(v) == j);
2175 json const j = "مرحبا";
2177 CHECK(json::to_ubjson(j) == v);
2178 CHECK(json::from_ubjson(v) == j);
2187 json const j = {nullptr, true, false, 4782345193, 153.132, "ham"};
2189 CHECK(json::to_ubjson(j) == v);
2190 CHECK(json::from_ubjson(v) == j);
2196 json const j = {nullptr, true, false, 4782345193, 153.132, "ham"};
2198 CHECK(json::to_ubjson(j, true) == v);
2199 CHECK(json::from_ubjson(v) == j);
2205 json const j = {nullptr, true, false, 4782345193, 153.132, "ham"};
2207 CHECK(json::to_ubjson(j, true, true) == v);
2208 CHECK(json::from_ubjson(v) == j);
2216 json const j =
2234 CHECK(json::to_ubjson(j) == v);
2235 CHECK(json::from_ubjson(v) == j);
2240 json const j =
2257 CHECK(json::to_ubjson(j, true) == v);
2258 CHECK(json::from_ubjson(v) == j);
2263 json const j =
2280 CHECK(json::to_ubjson(j, true, true) == v);
2281 CHECK(json::from_ubjson(v) == j);
2292 json const j = {29.97, 31.13, 67.0, 2.113, 23.888};
2301 CHECK(json::to_ubjson(j) == v);
2302 CHECK(json::from_ubjson(v) == j);
2308 json const j = {29.97, 31.13, 67.0, 2.113, 23.888};
2316 CHECK(json::to_ubjson(j, true) == v);
2317 CHECK(json::from_ubjson(v) == j);
2323 json const j = {29.97, 31.13, 67.0, 2.113, 23.888};
2331 CHECK(json::to_ubjson(j, true, true) == v);
2332 CHECK(json::from_ubjson(v) == j);
2341 json const j = { {"lat", 29.976}, {"long", 31.131}, {"alt", 67.0} };
2348 CHECK(json::to_ubjson(j) == v);
2349 CHECK(json::from_ubjson(v) == j);
2355 json const j = { {"lat", 29.976}, {"long", 31.131}, {"alt", 67.0} };
2361 CHECK(json::to_ubjson(j, true) == v);
2362 CHECK(json::from_ubjson(v) == j);
2368 json const j = { {"lat", 29.976}, {"long", 31.131}, {"alt", 67.0} };
2374 CHECK(json::to_ubjson(j, true, true) == v);
2375 CHECK(json::from_ubjson(v) == j);
2384 CHECK(json::from_ubjson(v) == json::array());
2390 …CHECK(json::from_ubjson(v) == json({ {"name", nullptr}, {"password", nullptr}, {"email", nullptr} …
2412 auto res = json::from_ubjson(std::vector<uint8_t>(1, byte)); in CAPTURE()
2414 catch (const json::parse_error& e)
2438 TEST_DATA_DIRECTORY "/json_nlohmann_tests/all_unicode.json", in skip()
2439 TEST_DATA_DIRECTORY "/json.org/1.json", in skip()
2440 TEST_DATA_DIRECTORY "/json.org/2.json", in skip()
2441 TEST_DATA_DIRECTORY "/json.org/3.json", in skip()
2442 TEST_DATA_DIRECTORY "/json.org/4.json", in skip()
2443 TEST_DATA_DIRECTORY "/json.org/5.json", in skip()
2444 TEST_DATA_DIRECTORY "/json_roundtrip/roundtrip01.json", in skip()
2445 TEST_DATA_DIRECTORY "/json_roundtrip/roundtrip02.json", in skip()
2446 TEST_DATA_DIRECTORY "/json_roundtrip/roundtrip03.json", in skip()
2447 TEST_DATA_DIRECTORY "/json_roundtrip/roundtrip04.json", in skip()
2448 TEST_DATA_DIRECTORY "/json_roundtrip/roundtrip05.json", in skip()
2449 TEST_DATA_DIRECTORY "/json_roundtrip/roundtrip06.json", in skip()
2450 TEST_DATA_DIRECTORY "/json_roundtrip/roundtrip07.json", in skip()
2451 TEST_DATA_DIRECTORY "/json_roundtrip/roundtrip08.json", in skip()
2452 TEST_DATA_DIRECTORY "/json_roundtrip/roundtrip09.json", in skip()
2453 TEST_DATA_DIRECTORY "/json_roundtrip/roundtrip10.json", in skip()
2454 TEST_DATA_DIRECTORY "/json_roundtrip/roundtrip11.json", in skip()
2455 TEST_DATA_DIRECTORY "/json_roundtrip/roundtrip12.json", in skip()
2456 TEST_DATA_DIRECTORY "/json_roundtrip/roundtrip13.json", in skip()
2457 TEST_DATA_DIRECTORY "/json_roundtrip/roundtrip14.json", in skip()
2458 TEST_DATA_DIRECTORY "/json_roundtrip/roundtrip15.json", in skip()
2459 TEST_DATA_DIRECTORY "/json_roundtrip/roundtrip16.json", in skip()
2460 TEST_DATA_DIRECTORY "/json_roundtrip/roundtrip17.json", in skip()
2461 TEST_DATA_DIRECTORY "/json_roundtrip/roundtrip18.json", in skip()
2462 TEST_DATA_DIRECTORY "/json_roundtrip/roundtrip19.json", in skip()
2463 TEST_DATA_DIRECTORY "/json_roundtrip/roundtrip20.json", in skip()
2464 TEST_DATA_DIRECTORY "/json_roundtrip/roundtrip21.json", in skip()
2465 TEST_DATA_DIRECTORY "/json_roundtrip/roundtrip22.json", in skip()
2466 TEST_DATA_DIRECTORY "/json_roundtrip/roundtrip23.json", in skip()
2467 TEST_DATA_DIRECTORY "/json_roundtrip/roundtrip24.json", in skip()
2468 TEST_DATA_DIRECTORY "/json_roundtrip/roundtrip25.json", in skip()
2469 TEST_DATA_DIRECTORY "/json_roundtrip/roundtrip26.json", in skip()
2470 TEST_DATA_DIRECTORY "/json_roundtrip/roundtrip27.json", in skip()
2471 TEST_DATA_DIRECTORY "/json_roundtrip/roundtrip28.json", in skip()
2472 TEST_DATA_DIRECTORY "/json_roundtrip/roundtrip29.json", in skip()
2473 TEST_DATA_DIRECTORY "/json_roundtrip/roundtrip30.json", in skip()
2474 TEST_DATA_DIRECTORY "/json_roundtrip/roundtrip31.json", in skip()
2475 TEST_DATA_DIRECTORY "/json_roundtrip/roundtrip32.json", in skip()
2476 TEST_DATA_DIRECTORY "/json_testsuite/sample.json", in skip()
2477 TEST_DATA_DIRECTORY "/json_tests/pass1.json", in skip()
2478 TEST_DATA_DIRECTORY "/json_tests/pass2.json", in skip()
2479 TEST_DATA_DIRECTORY "/json_tests/pass3.json" in skip()
2486 // parse JSON file in skip()
2488 json const j1 = json::parse(f_json); in skip()
2492 json j2; in skip()
2493 CHECK_NOTHROW(j2 = json::from_ubjson(packed)); in skip()
2495 // compare parsed JSON values in skip()
2501 // parse JSON file in skip()
2503 json const j1 = json::parse(f_json); in skip()
2507 json j2; in skip()
2508 CHECK_NOTHROW(j2 = json::from_ubjson(f_ubjson)); in skip()
2510 // compare parsed JSON values in skip()
2516 // parse JSON file in skip()
2518 json j1 = json::parse(f_json); in skip()
2522 json j2; in skip()
2523 CHECK_NOTHROW(j2 = json::from_ubjson({packed.data(), packed.size()})); in skip()
2525 // compare parsed JSON values in skip()
2531 // parse JSON file in skip()
2533 json const j1 = json::parse(f_json); in skip()
2541 json::to_ubjson(j1, vec); in skip()