// ArduinoJson - https://arduinojson.org // Copyright © 2014-2022, Benoit BLANCHON // MIT License #include #include class CustomWriter { public: CustomWriter() {} size_t write(uint8_t c) { _str.append(1, static_cast(c)); return 1; } size_t write(const uint8_t *s, size_t n) { _str.append(reinterpret_cast(s), n); return n; } const std::string &str() const { return _str; } private: CustomWriter(const CustomWriter &); // non-copiable CustomWriter &operator=(const CustomWriter &); std::string _str; }; TEST_CASE("CustomWriter") { DynamicJsonDocument doc(4096); JsonArray array = doc.to(); array.add(4); array.add(2); SECTION("serializeJson()") { CustomWriter writer; serializeJson(array, writer); REQUIRE("[4,2]" == writer.str()); } SECTION("serializeJsonPretty") { CustomWriter writer; serializeJsonPretty(array, writer); REQUIRE("[\r\n 4,\r\n 2\r\n]" == writer.str()); } }