forked from bblanchon/ArduinoJson
66 lines
1.3 KiB
C++
66 lines
1.3 KiB
C++
#include "JsonWriter.h"
|
|
#include "EscapedString.h"
|
|
|
|
using namespace ArduinoJson::Internals;
|
|
|
|
void JsonWriter::beginArray()
|
|
{
|
|
writeCommaIfNeeded();
|
|
_length += _sink.write('[');
|
|
_isCommaNeeded = false;
|
|
}
|
|
|
|
void JsonWriter::endArray()
|
|
{
|
|
_length += _sink.write(']');
|
|
_isCommaNeeded = true;
|
|
}
|
|
|
|
void JsonWriter::beginObject()
|
|
{
|
|
writeCommaIfNeeded();
|
|
_length += _sink.write('{');
|
|
_isCommaNeeded = false;
|
|
}
|
|
|
|
void JsonWriter::endObject()
|
|
{
|
|
_length += _sink.write('}');
|
|
_isCommaNeeded = true;
|
|
}
|
|
|
|
void JsonWriter::writeKey(char const* key)
|
|
{
|
|
writeCommaIfNeeded();
|
|
_length += EscapedString::printTo(key, _sink);
|
|
_length += _sink.write(':');
|
|
_isCommaNeeded = false;
|
|
}
|
|
|
|
void JsonWriter::writeValue(char const* value)
|
|
{
|
|
writeCommaIfNeeded();
|
|
_length += EscapedString::printTo(value, _sink);
|
|
_isCommaNeeded = true;
|
|
}
|
|
|
|
void JsonWriter::writeValue(long value)
|
|
{
|
|
writeCommaIfNeeded();
|
|
_length += _sink.print(value);
|
|
_isCommaNeeded = true;
|
|
}
|
|
|
|
void JsonWriter::writeValue(bool value)
|
|
{
|
|
writeCommaIfNeeded();
|
|
_length += _sink.print(value ? "true" : "false");
|
|
_isCommaNeeded = true;
|
|
}
|
|
|
|
void JsonWriter::writeValue(double value, int decimals)
|
|
{
|
|
writeCommaIfNeeded();
|
|
_length += _sink.print(value, decimals);
|
|
_isCommaNeeded = true;
|
|
} |