Files
ArduinoJson/srcs/Internals/JsonWriter.cpp
2014-10-05 16:26:13 +02:00

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;
}