| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465 |
- #pragma once
- #include "JsonWriter.h"
- #include "IndentedPrint.h"
- using namespace ArduinoJson::Generator;
- class PrettyJsonWriter : public JsonWriter
- {
- public:
- explicit PrettyJsonWriter(IndentedPrint& sink)
- : JsonWriter(sink), _indenter(sink)
- {
- }
- virtual void beginArray()
- {
- _length += _sink.write('[');
- indent();
- }
- virtual void endArray()
- {
- unindent();
- _length += _sink.write(']');
- }
- virtual void writeColon()
- {
- _length += _sink.print(": ");
- }
- virtual void writeComma()
- {
- _length += _sink.write(',');
- _length += _indenter.println();
- }
- virtual void beginObject()
- {
- _length += _sink.write('{');
- indent();
- }
- virtual void endObject()
- {
- unindent();
- _length += _sink.write('}');
- }
- private:
- IndentedPrint& _indenter;
- void indent()
- {
- _indenter.indent();
- _length += _indenter.println();
- }
- void unindent()
- {
- _length += _indenter.println();
- _indenter.unindent();
- }
- };
|