2015-02-07 16:05:48 +01:00
|
|
|
// Copyright Benoit Blanchon 2014-2015
|
2014-10-23 23:39:22 +02:00
|
|
|
// MIT License
|
|
|
|
//
|
|
|
|
// Arduino JSON library
|
|
|
|
// https://github.com/bblanchon/ArduinoJson
|
|
|
|
|
2014-11-04 09:51:25 +01:00
|
|
|
#include "../include/ArduinoJson/JsonVariant.hpp"
|
2014-11-04 10:01:21 +01:00
|
|
|
|
2014-11-03 18:35:22 +01:00
|
|
|
#include "../include/ArduinoJson/JsonArray.hpp"
|
|
|
|
#include "../include/ArduinoJson/JsonObject.hpp"
|
2014-10-16 16:25:42 +02:00
|
|
|
|
2014-10-18 23:05:54 +02:00
|
|
|
using namespace ArduinoJson;
|
2014-10-29 14:24:34 +01:00
|
|
|
using namespace ArduinoJson::Internals;
|
|
|
|
|
2014-11-08 19:40:07 +01:00
|
|
|
void JsonVariant::writeTo(JsonWriter &writer) const {
|
2014-11-11 17:26:13 +01:00
|
|
|
if (is<const JsonArray &>())
|
|
|
|
as<const JsonArray &>().writeTo(writer);
|
|
|
|
else if (is<const JsonObject &>())
|
|
|
|
as<const JsonObject &>().writeTo(writer);
|
|
|
|
else if (is<const char *>())
|
|
|
|
writer.writeString(as<const char *>());
|
|
|
|
else if (is<long>())
|
|
|
|
writer.writeLong(as<long>());
|
|
|
|
else if (is<bool>())
|
|
|
|
writer.writeBoolean(as<bool>());
|
|
|
|
else if (is<double>()) {
|
|
|
|
uint8_t decimals = static_cast<uint8_t>(_type - JSON_DOUBLE_0_DECIMALS);
|
|
|
|
writer.writeDouble(as<double>(), decimals);
|
2014-10-29 14:24:34 +01:00
|
|
|
}
|
2014-10-30 10:49:02 +01:00
|
|
|
}
|