2014-10-23 23:39:22 +02:00
|
|
|
// Copyright Benoit Blanchon 2014
|
|
|
|
// MIT License
|
|
|
|
//
|
|
|
|
// Arduino JSON library
|
|
|
|
// https://github.com/bblanchon/ArduinoJson
|
|
|
|
|
2014-10-19 15:46:36 +02:00
|
|
|
#include "ArduinoJson/JsonBuffer.hpp"
|
2014-10-16 16:25:42 +02:00
|
|
|
|
2014-10-30 14:03:33 +01:00
|
|
|
#include <new> // required for the placement new
|
|
|
|
|
2014-10-27 22:50:50 +01:00
|
|
|
#include "ArduinoJson/JsonArray.hpp"
|
|
|
|
#include "ArduinoJson/JsonObject.hpp"
|
|
|
|
#include "ArduinoJson/JsonValue.hpp"
|
2014-10-19 15:46:36 +02:00
|
|
|
#include "ArduinoJson/Internals/JsonParser.hpp"
|
2014-10-16 16:25:42 +02:00
|
|
|
|
2014-10-18 23:05:54 +02:00
|
|
|
using namespace ArduinoJson;
|
|
|
|
using namespace ArduinoJson::Internals;
|
|
|
|
|
2014-10-29 14:24:34 +01:00
|
|
|
JsonArray &JsonBuffer::createArray() {
|
|
|
|
void *ptr = alloc(sizeof(JsonArray));
|
|
|
|
if (ptr) return *new (ptr) JsonArray(this);
|
|
|
|
return JsonArray::invalid();
|
2014-10-27 22:50:50 +01:00
|
|
|
}
|
|
|
|
|
2014-10-29 14:24:34 +01:00
|
|
|
JsonObject &JsonBuffer::createObject() {
|
|
|
|
void *ptr = alloc(sizeof(JsonObject));
|
|
|
|
if (ptr) return *new (ptr) JsonObject(this);
|
|
|
|
return JsonObject::invalid();
|
2014-10-27 22:50:50 +01:00
|
|
|
}
|
|
|
|
|
2014-10-29 14:24:34 +01:00
|
|
|
JsonArray &JsonBuffer::parseArray(char *json) {
|
2014-10-27 22:50:50 +01:00
|
|
|
JsonParser parser(this, json);
|
2014-10-29 14:24:34 +01:00
|
|
|
return parser.parseArray();
|
2014-10-27 22:50:50 +01:00
|
|
|
}
|
|
|
|
|
2014-10-29 14:24:34 +01:00
|
|
|
JsonObject &JsonBuffer::parseObject(char *json) {
|
2014-10-27 22:50:50 +01:00
|
|
|
JsonParser parser(this, json);
|
2014-10-29 14:24:34 +01:00
|
|
|
return parser.parseObject();
|
2014-10-27 22:50:50 +01:00
|
|
|
}
|