diff --git a/JsonGenerator.cpp b/JsonGenerator.cpp
index 8d6444be..e4a4148e 100644
--- a/JsonGenerator.cpp
+++ b/JsonGenerator.cpp
@@ -7,6 +7,6 @@
#include "JsonGenerator/EscapedString.cpp"
#include "JsonGenerator/JsonArrayBase.cpp"
+#include "JsonGenerator/JsonObjectBase.cpp"
#include "JsonGenerator/JsonValue.cpp"
-#include "JsonGenerator/JsonHashTableBase.cpp"
#include "JsonGenerator/StringBuilder.cpp"
\ No newline at end of file
diff --git a/JsonGenerator.h b/JsonGenerator.h
index bd0ed9d7..00bab65c 100644
--- a/JsonGenerator.h
+++ b/JsonGenerator.h
@@ -4,4 +4,4 @@
*/
#include "JsonGenerator/JsonArray.h"
-#include "JsonGenerator/JsonHashTable.h"
\ No newline at end of file
+#include "JsonGenerator/JsonObject.h"
\ No newline at end of file
diff --git a/JsonGenerator/JsonGenerator.vcxproj b/JsonGenerator/JsonGenerator.vcxproj
index 41274378..34d5febc 100644
--- a/JsonGenerator/JsonGenerator.vcxproj
+++ b/JsonGenerator/JsonGenerator.vcxproj
@@ -14,8 +14,8 @@
-
-
+
+
@@ -25,7 +25,7 @@
-
+
diff --git a/JsonGenerator/JsonGenerator.vcxproj.filters b/JsonGenerator/JsonGenerator.vcxproj.filters
index 431c9ad0..d8912d64 100644
--- a/JsonGenerator/JsonGenerator.vcxproj.filters
+++ b/JsonGenerator/JsonGenerator.vcxproj.filters
@@ -24,12 +24,6 @@
Header Files
-
- Header Files
-
-
- Header Files
-
Header Files
@@ -45,6 +39,12 @@
Header Files
+
+ Header Files
+
+
+ Header Files
+
@@ -53,9 +53,6 @@
Source Files
-
- Source Files
-
Source Files
@@ -65,5 +62,8 @@
Source Files
+
+ Source Files
+
\ No newline at end of file
diff --git a/JsonGenerator/JsonHashTable.h b/JsonGenerator/JsonHashTable.h
deleted file mode 100644
index b7bf9f45..00000000
--- a/JsonGenerator/JsonHashTable.h
+++ /dev/null
@@ -1,27 +0,0 @@
-/*
- * Arduino JSON library
- * Benoit Blanchon 2014 - MIT License
- */
-
-#pragma once
-
-#include "JsonHashTableBase.h"
-
-namespace ArduinoJson
-{
- namespace Generator
- {
- template
- class JsonHashTable : public JsonHashTableBase
- {
- public:
- JsonHashTable()
- : JsonHashTableBase(items, N)
- {
- }
-
- private:
- KeyValuePair items[N];
- };
- }
-}
\ No newline at end of file
diff --git a/JsonGenerator/JsonObject.h b/JsonGenerator/JsonObject.h
new file mode 100644
index 00000000..76048c43
--- /dev/null
+++ b/JsonGenerator/JsonObject.h
@@ -0,0 +1,44 @@
+/*
+ * Arduino JSON library
+ * Benoit Blanchon 2014 - MIT License
+ */
+
+#pragma once
+
+#include "JsonObjectBase.h"
+
+#ifndef ARDUINO_JSON_NO_DEPRECATION_WARNING
+#ifdef __GNUC__
+#define DEPRECATED __attribute__((deprecated))
+#elif defined(_MSC_VER)
+#define DEPRECATED __declspec(deprecated)
+#endif
+#else
+#define DEPRECATED
+#endif
+
+namespace ArduinoJson
+{
+ namespace Generator
+ {
+ template
+ class JsonObject : public JsonObjectBase
+ {
+ public:
+ JsonObject()
+ : JsonObjectBase(items, N)
+ {
+ }
+
+ private:
+ KeyValuePair items[N];
+ };
+
+
+ // Obsolete: use JsonObject instead
+ template
+ class DEPRECATED JsonHashTable : public JsonObject
+ {
+ };
+ }
+}
\ No newline at end of file
diff --git a/JsonGenerator/JsonHashTableBase.cpp b/JsonGenerator/JsonObjectBase.cpp
similarity index 83%
rename from JsonGenerator/JsonHashTableBase.cpp
rename to JsonGenerator/JsonObjectBase.cpp
index 27bb3977..9c99e4a6 100644
--- a/JsonGenerator/JsonHashTableBase.cpp
+++ b/JsonGenerator/JsonObjectBase.cpp
@@ -3,11 +3,11 @@
* Benoit Blanchon 2014 - MIT License
*/
-#include "JsonHashTable.h"
+#include "JsonObjectBase.h"
using namespace ArduinoJson::Generator;
-size_t JsonHashTableBase::printTo(Print& p) const
+size_t JsonObjectBase::printTo(Print& p) const
{
size_t n = 0;
diff --git a/JsonGenerator/JsonHashTableBase.h b/JsonGenerator/JsonObjectBase.h
similarity index 87%
rename from JsonGenerator/JsonHashTableBase.h
rename to JsonGenerator/JsonObjectBase.h
index ffb5b6db..89f38da7 100644
--- a/JsonGenerator/JsonHashTableBase.h
+++ b/JsonGenerator/JsonObjectBase.h
@@ -12,7 +12,7 @@ namespace ArduinoJson
{
namespace Generator
{
- class JsonHashTableBase : public JsonPrintable
+ class JsonObjectBase : public JsonPrintable
{
public:
@@ -48,7 +48,7 @@ namespace ArduinoJson
Internals::JsonValue value;
};
- JsonHashTableBase(KeyValuePair* items, int capacity)
+ JsonObjectBase(KeyValuePair* items, int capacity)
: items(items), capacity(capacity), count(0)
{
}
diff --git a/JsonGenerator/JsonValue.h b/JsonGenerator/JsonValue.h
index df4dcb8b..51be76b4 100644
--- a/JsonGenerator/JsonValue.h
+++ b/JsonGenerator/JsonValue.h
@@ -16,14 +16,14 @@ namespace ArduinoJson
class JsonValue
{
public:
-
+
void set(bool value)
{
printToImpl = &printBoolTo;
content.asBool = value;
}
- void set(long value)
+ void set(long value)
{
printToImpl = &printLongTo;
content.asLong = value;
@@ -52,7 +52,7 @@ namespace ArduinoJson
set<2>(value);
}
- template
+ template
void set(double value)
{
printToImpl = &printDoubleTo;
@@ -68,23 +68,23 @@ namespace ArduinoJson
private:
union Content
{
- bool asBool;
- long asLong;
- Printable* asPrintable;
+ bool asBool;
+ long asLong;
+ Printable* asPrintable;
EscapedString asString;
- double asDouble;
+ double asDouble;
};
Content content;
- size_t(*printToImpl)(const Content&, Print&);
+ size_t(* printToImpl)(const Content&, Print&);
static size_t printBoolTo(const Content&, Print&);
static size_t printLongTo(const Content&, Print&);
static size_t printPrintableTo(const Content&, Print&);
static size_t printStringTo(const Content&, Print&);
- template
+ template
static size_t printDoubleTo(const Content& c, Print& p)
{
return p.print(c.asDouble, DIGITS);
diff --git a/JsonGeneratorTests/JsonArrayTests.cpp b/JsonGeneratorTests/JsonArrayTests.cpp
index f4886cf4..f26135a2 100644
--- a/JsonGeneratorTests/JsonArrayTests.cpp
+++ b/JsonGeneratorTests/JsonArrayTests.cpp
@@ -5,7 +5,7 @@
#include "CppUnitTest.h"
#include "JsonArray.h"
-#include "JsonHashTable.h"
+#include "JsonObject.h"
using namespace Microsoft::VisualStudio::CppUnitTestFramework;
using namespace ArduinoJson::Generator;
diff --git a/JsonGeneratorTests/JsonGeneratorTests.vcxproj b/JsonGeneratorTests/JsonGeneratorTests.vcxproj
index 0d0453df..6428431d 100644
--- a/JsonGeneratorTests/JsonGeneratorTests.vcxproj
+++ b/JsonGeneratorTests/JsonGeneratorTests.vcxproj
@@ -55,7 +55,7 @@
Level3
Disabled
$(VCInstallDir)UnitTest\include;%(AdditionalIncludeDirectories)
- _DEBUG;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)
+ ARDUINO_JSON_NO_DEPRECATION_WARNING;_DEBUG;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)
true
diff --git a/JsonGeneratorTests/JsonHashTableTests.cpp b/JsonGeneratorTests/JsonHashTableTests.cpp
index f546efdb..614d6725 100644
--- a/JsonGeneratorTests/JsonHashTableTests.cpp
+++ b/JsonGeneratorTests/JsonHashTableTests.cpp
@@ -5,7 +5,7 @@
#include "CppUnitTest.h"
#include "JsonArray.h"
-#include "JsonHashTable.h"
+#include "JsonObject.h"
using namespace Microsoft::VisualStudio::CppUnitTestFramework;
using namespace ArduinoJson::Generator;
diff --git a/examples/JsonGeneratorExample/JsonGeneratorExample.ino b/examples/JsonGeneratorExample/JsonGeneratorExample.ino
index 71158be8..94a4b9fd 100644
--- a/examples/JsonGeneratorExample/JsonGeneratorExample.ino
+++ b/examples/JsonGeneratorExample/JsonGeneratorExample.ino
@@ -15,7 +15,7 @@ void setup()
array.add<6>(48.756080); // 6 is the number of decimals to print
array.add<6>(2.302038); // if not specified, 2 digits are printed
- JsonHashTable<3> root;
+ JsonObject<3> root;
root.add("sensor", "gps");
root.add("time", 1351824120);
root.add("data", array);
diff --git a/examples/JsonParserExample/JsonParserExample.ino b/examples/JsonParserExample/JsonParserExample.ino
index 99dae4f7..5c391bac 100644
--- a/examples/JsonParserExample/JsonParserExample.ino
+++ b/examples/JsonParserExample/JsonParserExample.ino
@@ -15,7 +15,7 @@ void setup()
JsonParser<16> parser;
- JsonHashTable root = parser.parse(json);
+ JsonObject root = parser.parse(json);
if (!root.success())
{
diff --git a/keywords.txt b/keywords.txt
index 2110db66..e2536590 100644
--- a/keywords.txt
+++ b/keywords.txt
@@ -1,10 +1,6 @@
JsonParser KEYWORD1
JsonArray KEYWORD1
-JsonHashTable KEYWORD1
-getArray KEYWORD2
-getBool KEYWORD2
-getDouble KEYWORD2
-getHashTableKEYWORD2
-getLong KEYWORD2
-parseArray KEYWORD2
-parseHashTable KEYWORD2
+JsonObject KEYWORD1
+add KEYWORD2
+parse KEYWORD2
+success KEYWORD2