• Home
  • Raw
  • Download

Lines Matching full:json

2 //  __|  |   __|     |   | |  JSON for Modern C++ (supporting code)
4 // |_____|_____|_____|_|___| https://github.com/nlohmann/json
12 #include <nlohmann/json.hpp>
13 using nlohmann::json;
21 json j = true;
22 json const k = j;
25 CHECK(j == json(json::value_t::boolean));
26 CHECK(j == json(k.type()));
31 json j = "hello world";
32 json const k = j;
35 CHECK(j == json(json::value_t::string));
36 CHECK(j == json(k.type()));
43 json j = json::array();
44 json const k = j;
48 CHECK(j == json(json::value_t::array));
49 CHECK(j == json(k.type()));
54 json j = {1, 2, 3};
55 json const k = j;
59 CHECK(j == json(json::value_t::array));
60 CHECK(j == json(k.type()));
68 json j = json::object();
69 json const k = j;
73 CHECK(j == json(json::value_t::object));
74 CHECK(j == json(k.type()));
79 json j = {{"one", 1}, {"two", 2}, {"three", 3}};
80 json const k = j;
84 CHECK(j == json(json::value_t::object));
85 CHECK(j == json(k.type()));
93 json j = json::binary({});
94 json const k = j;
98 CHECK(j == json(json::value_t::binary));
99 CHECK(j == json(k.type()));
104 json j = json::binary({1, 2, 3, 4, 5});
105 json const k = j;
109 CHECK(j == json(json::value_t::binary));
110 CHECK(j == json(k.type()));
116 json j = 23;
117 json const k = j;
120 CHECK(j == json(json::value_t::number_integer));
121 CHECK(j == json(k.type()));
126 json j = 23u;
127 json const k = j;
130 CHECK(j == json(json::value_t::number_integer));
131 CHECK(j == json(k.type()));
136 json j = 23.42;
137 json const k = j;
140 CHECK(j == json(json::value_t::number_float));
141 CHECK(j == json(k.type()));
146 json j = nullptr;
147 json const k = j;
150 CHECK(j == json(json::value_t::null));
151 CHECK(j == json(k.type()));
159 SECTION("json&&")
163 json j;
166 CHECK(j.type() == json::value_t::array);
167 CHECK(j == json({1, 2}));
172 json j = {1, 2, 3};
174 CHECK(j.type() == json::value_t::array);
175 CHECK(j == json({1, 2, 3, "Hello"}));
180 json j = 1;
181 …_THROWS_WITH_AS(j.push_back("Hello"), "[json.exception.type_error.308] cannot use push_back() with…
185 SECTION("const json&")
189 json j;
190 json const k(1);
193 CHECK(j.type() == json::value_t::array);
194 CHECK(j == json({1, 1}));
199 json j = {1, 2, 3};
200 json const k("Hello");
202 CHECK(j.type() == json::value_t::array);
203 CHECK(j == json({1, 2, 3, "Hello"}));
208 json j = 1;
209 json const k("Hello");
210 …CHECK_THROWS_WITH_AS(j.push_back(k), "[json.exception.type_error.308] cannot use push_back() with …
219 json j;
220 j.push_back(json::object_t::value_type({"one", 1}));
221 j.push_back(json::object_t::value_type({"two", 2}));
222 CHECK(j.type() == json::value_t::object);
224 CHECK(j["one"] == json(1));
225 CHECK(j["two"] == json(2));
230 json j(json::value_t::object);
231 j.push_back(json::object_t::value_type({"one", 1}));
232 j.push_back(json::object_t::value_type({"two", 2}));
234 CHECK(j["one"] == json(1));
235 CHECK(j["two"] == json(2));
240 json j = 1;
241 json const k("Hello");
242 …ITH_AS(j.push_back(json::object_t::value_type({"one", 1})), "[json.exception.type_error.308] canno…
250 json j;
252 CHECK(j == json::array({{"foo", "bar"}}));
254 json k;
256 CHECK(k == json::array({{1, 2, 3}}));
261 json j = {1, 2, 3};
263 CHECK(j == json({1, 2, 3, {"foo", "bar"}}));
265 json k = {1, 2, 3};
267 CHECK(k == json({1, 2, 3, {1, 2, 3}}));
272 json j = {{"key1", 1}};
274 CHECK(j == json({{"key1", 1}, {"key2", "bar"}}));
277 …HECK_THROWS_WITH_AS(j.push_back({1}), "[json.exception.type_error.308] cannot use push_back() with…
278 …K_THROWS_WITH_AS(j.push_back({1, 2}), "[json.exception.type_error.308] cannot use push_back() with…
279 …WS_WITH_AS(j.push_back({1, 2, 3, 4}), "[json.exception.type_error.308] cannot use push_back() with…
290 json j;
295 CHECK(j.type() == json::value_t::array);
296 CHECK(j == json({1, 2}));
301 json j = {1, 2, 3};
304 CHECK(j.type() == json::value_t::array);
305 CHECK(j == json({1, 2, 3, "Hello"}));
310 json j;
312 CHECK(x == json({"foo", "foo", "foo"}));
313 CHECK(j.type() == json::value_t::array);
314 CHECK(j == json({{"foo", "foo", "foo"}}));
320 json j = 1;
321 …OWS_WITH_AS(j.emplace_back("Hello"), "[json.exception.type_error.311] cannot use emplace_back() wi…
332 json j;
340 CHECK(j.type() == json::value_t::object);
353 CHECK(j == json({{"baz", "bam"}, {"foo", "bar"}}));
359 json j = {{"foo", "bar"}};
372 CHECK(j == json({{"baz", "bam"}, {"foo", "bar"}}));
378 json j = 1;
379 …HROWS_WITH_AS(j.emplace("foo", "bar"), "[json.exception.type_error.311] cannot use emplace() with …
387 SECTION("json&&")
391 json j;
394 CHECK(j.type() == json::value_t::array);
395 CHECK(j == json({1, 2}));
400 json j = {1, 2, 3};
402 CHECK(j.type() == json::value_t::array);
403 CHECK(j == json({1, 2, 3, "Hello"}));
408 json j = 1;
409 …CHECK_THROWS_WITH_AS(j += "Hello", "[json.exception.type_error.308] cannot use push_back() with nu…
413 SECTION("const json&")
417 json j;
418 json const k(1);
421 CHECK(j.type() == json::value_t::array);
422 CHECK(j == json({1, 1}));
427 json j = {1, 2, 3};
428 json const k("Hello");
430 CHECK(j.type() == json::value_t::array);
431 CHECK(j == json({1, 2, 3, "Hello"}));
436 json j = 1;
437 json const k("Hello");
438 …CHECK_THROWS_WITH_AS(j += k, "[json.exception.type_error.308] cannot use push_back() with number",…
447 json j;
448 j += json::object_t::value_type({"one", 1});
449 j += json::object_t::value_type({"two", 2});
450 CHECK(j.type() == json::value_t::object);
452 CHECK(j["one"] == json(1));
453 CHECK(j["two"] == json(2));
458 json j(json::value_t::object);
459 j += json::object_t::value_type({"one", 1});
460 j += json::object_t::value_type({"two", 2});
462 CHECK(j["one"] == json(1));
463 CHECK(j["two"] == json(2));
468 json j = 1;
469 json const k("Hello");
470 …HROWS_WITH_AS(j += json::object_t::value_type({"one", 1}), "[json.exception.type_error.308] cannot…
478 json j;
480 CHECK(j == json::array({{"foo", "bar"}}));
482 json k;
484 CHECK(k == json::array({{1, 2, 3}}));
489 json j = {1, 2, 3};
491 CHECK(j == json({1, 2, 3, {"foo", "bar"}}));
493 json k = {1, 2, 3};
495 CHECK(k == json({1, 2, 3, {1, 2, 3}}));
500 json j = {{"key1", 1}};
502 CHECK(j == json({{"key1", 1}, {"key2", "bar"}}));
504 json k = {{"key1", 1}};
505 …K_THROWS_WITH_AS((k += {1, 2, 3, 4}), "[json.exception.type_error.308] cannot use push_back() with…
512 json j_array = {1, 2, 3, 4};
513 json j_value = 5;
523 CHECK(j_array == json({5, 1, 2, 3, 4}));
532 CHECK(j_array == json({1, 2, 5, 3, 4}));
541 CHECK(j_array == json({1, 2, 3, 4, 5}));
553 CHECK(j_array == json({5, 1, 2, 3, 4}));
562 CHECK(j_array == json({1, 2, 5, 3, 4}));
571 CHECK(j_array == json({1, 2, 3, 4, 5}));
583 CHECK(j_array == json({5, 5, 5, 1, 2, 3, 4}));
592 CHECK(j_array == json({1, 2, 5, 5, 5, 3, 4}));
601 CHECK(j_array == json({1, 2, 3, 4, 5, 5, 5}));
611 CHECK(j_array == json({1, 2, 3, 4}));
617 json j_other_array = {"first", "second"};
625 CHECK(j_array == json({1, 2, 3, 4, "first", "second"}));
633 CHECK(j_array == json({1, 2, 3, 4}));
638 json j_other_array2 = {"first", "second"};
640 …_WITH_AS(j_array.insert(j_array.end(), j_array.begin(), j_array.end()), "[json.exception.invalid_i…
641 json::invalid_iterator&);
642 …ray.insert(j_array.end(), j_other_array.begin(), j_other_array2.end()), "[json.exception.invalid_i…
643 json::invalid_iterator&);
649 json j_object1 = {{"one", "eins"}, {"two", "zwei"}};
650 json j_object2 = {{"eleven", "elf"}, {"seventeen", "siebzehn"}};
666 json const j_other_array2 = {"first", "second"};
668 …rt(j_object2.begin(), j_object2.end()), "[json.exception.type_error.309] cannot use insert() with …
669 …sert(j_object1.begin(), j_object2.end()), "[json.exception.invalid_iterator.210] iterators do not …
670 …ray.begin(), j_array.end()), "[json.exception.invalid_iterator.202] iterators first and last must …
680 CHECK(*it == json(7));
682 CHECK(j_array == json({7, 8, 9, 1, 2, 3, 4}));
689 CHECK(*it == json(7));
691 CHECK(j_array == json({1, 2, 7, 8, 9, 3, 4}));
698 CHECK(*it == json(7));
700 CHECK(j_array == json({1, 2, 3, 4, 7, 8, 9}));
707 json j_another_array = {1, 2};
708 json j_yet_another_array = {"first", "second"};
709 …insert(j_another_array.end(), 10), "[json.exception.invalid_iterator.202] iterator does not fit cu…
710 …t(j_another_array.end(), j_value), "[json.exception.invalid_iterator.202] iterator does not fit cu…
711 …rt(j_another_array.end(), 10, 11), "[json.exception.invalid_iterator.202] iterator does not fit cu…
712 …gin(), j_yet_another_array.end()), "[json.exception.invalid_iterator.202] iterator does not fit cu…
713 …nother_array.end(), {1, 2, 3, 4}), "[json.exception.invalid_iterator.202] iterator does not fit cu…
719 json j_nonarray = 3;
720 json j_yet_another_array = {"first", "second"};
721 …_nonarray.insert(j_nonarray.end(), 10), "[json.exception.type_error.309] cannot use insert() with …
722 …rray.insert(j_nonarray.end(), j_value), "[json.exception.type_error.309] cannot use insert() with …
723 …array.insert(j_nonarray.end(), 10, 11), "[json.exception.type_error.309] cannot use insert() with …
724 …ay.begin(), j_yet_another_array.end()), "[json.exception.type_error.309] cannot use insert() with …
725 …insert(j_nonarray.end(), {1, 2, 3, 4}), "[json.exception.type_error.309] cannot use insert() with …
733 json j_object1 = {{"one", "eins"}, {"two", "zwei"}};
734 json j_object2 = {{"three", "drei"}, {"two", "zwo"}};
735 json j_array = {1, 2, 3, 4};
742 CHECK(j_object1 == json({{"one", "eins"}, {"two", "zwo"}, {"three", "drei"}}));
744 json j_null;
751 …ROWS_WITH_AS(j_array.update(j_object1), "[json.exception.type_error.312] cannot use update() with …
753 …ROWS_WITH_AS(j_object1.update(j_array), "[json.exception.type_error.312] cannot use update() with …
762 CHECK(j_object1 == json({{"one", "eins"}, {"two", "zwo"}, {"three", "drei"}}));
764 json j_null;
772 CHECK(j_object1 == json({{"one", "eins"}, {"two", "zwei"}}));
777 json const j_other_array2 = {"first", "second"};
779 …te(j_object2.begin(), j_object2.end()), "[json.exception.type_error.312] cannot use update() with …
780 …date(j_object1.begin(), j_object2.end()), "[json.exception.invalid_iterator.210] iterators do not …
781 …update(j_array.begin(), j_array.end()), "[json.exception.type_error.312] cannot use update() with …
792 json j1 = {{"string", "s"}, {"numbers", {{"one", 1}}}};
793 json const j2 = {{"string", "t"}, {"numbers", {{"two", 2}}}};
795 CHECK(j1 == json({{"string", "t"}, {"numbers", {{"one", 1}, {"two", 2}}}}));
800 json j1 = {{"string", "s"}, {"numbers", {{"one", 1}}}};
801 json const j2 = {{"string", "t"}, {"numbers", 1}};
803 CHECK(j1 == json({{"string", "t"}, {"numbers", 1}}));
811 SECTION("json")
815 json j("hello world");
816 json k(42.23);
820 CHECK(j == json(42.23));
821 CHECK(k == json("hello world"));
826 json j("hello world");
827 json k(42.23);
832 CHECK(j == json(42.23));
833 CHECK(k == json("hello world"));
841 json j = {1, 2, 3, 4};
842 json::array_t a = {"foo", "bar", "baz"};
846 CHECK(j == json({"foo", "bar", "baz"}));
850 CHECK(j == json({1, 2, 3, 4}));
855 json j = 17;
856 json::array_t a = {"foo", "bar", "baz"};
858 …CHECK_THROWS_WITH_AS(j.swap(a), "[json.exception.type_error.310] cannot use swap(array_t&) with nu…
866 json j = {{"one", 1}, {"two", 2}};
867 json::object_t o = {{"cow", "Kuh"}, {"chicken", "Huhn"}};
871 CHECK(j == json({{"cow", "Kuh"}, {"chicken", "Huhn"}}));
875 CHECK(j == json({{"one", 1}, {"two", 2}}));
880 json j = 17;
881 json::object_t o = {{"cow", "Kuh"}, {"chicken", "Huhn"}};
883 …CHECK_THROWS_WITH_AS(j.swap(o), "[json.exception.type_error.310] cannot use swap(object_t&) with n…
891 json j = "Hello world";
892 json::string_t s = "Hallo Welt";
896 CHECK(j == json("Hallo Welt"));
900 CHECK(j == json("Hello world"));
905 json j = 17;
906 json::string_t s = "Hallo Welt";
908 …CHECK_THROWS_WITH_AS(j.swap(s), "[json.exception.type_error.310] cannot use swap(string_t&) with n…
916 json j = json::binary({1, 2, 3, 4});
917 json::binary_t s = {{5, 6, 7, 8}};
921 CHECK(j == json::binary({5, 6, 7, 8}));
925 CHECK(j == json::binary({1, 2, 3, 4}));
930 json j = json::binary({1, 2, 3, 4});
935 CHECK(j == json::binary({5, 6, 7, 8}));
939 CHECK(j == json::binary({1, 2, 3, 4}));
944 json j = 17;
945 json::binary_t s1 = {{1, 2, 3, 4}};
948 …CHECK_THROWS_WITH_AS(j.swap(s1), "[json.exception.type_error.310] cannot use swap(binary_t&) with …
949 …_THROWS_WITH_AS(j.swap(s2), "[json.exception.type_error.310] cannot use swap(binary_t::container_t…