mirror of
https://github.com/eledio-devices/thirdparty-ArduinoJson.git
synced 2025-11-01 16:14:05 +01:00
42 lines
1006 B
C++
42 lines
1006 B
C++
// Copyright Benoit Blanchon 2014
|
|
// MIT License
|
|
//
|
|
// Arduino JSON library
|
|
// https://github.com/bblanchon/ArduinoJson
|
|
|
|
#pragma once
|
|
|
|
#include "../Arduino/Print.hpp"
|
|
|
|
namespace ArduinoJson {
|
|
namespace Internals {
|
|
|
|
class JsonWriter {
|
|
public:
|
|
explicit JsonWriter(Print *sink) : _sink(sink), _length(0) {}
|
|
|
|
size_t bytesWritten() { return _length; }
|
|
|
|
void beginArray() { _length += _sink->write('['); }
|
|
void endArray() { _length += _sink->write(']'); }
|
|
void writeEmptyArray() { _length += _sink->print("[]"); }
|
|
|
|
void beginObject() { _length += _sink->write('{'); }
|
|
void endObject() { _length += _sink->write('}'); }
|
|
void writeEmptyObject() { _length += _sink->print("{}"); }
|
|
|
|
void writeString(const char *value);
|
|
void writeInteger(long value);
|
|
void writeBoolean(bool value);
|
|
void writeDouble(double value, int decimals);
|
|
|
|
void writeColon() { _length += _sink->write(':'); }
|
|
void writeComma() { _length += _sink->write(','); }
|
|
|
|
protected:
|
|
Print *_sink;
|
|
size_t _length;
|
|
};
|
|
}
|
|
}
|