Renamed JsonHashTable into JsonObject

This commit is contained in:
Benoit Blanchon
2014-07-22 21:02:16 +02:00
parent abef85218e
commit 6e4eb45210
15 changed files with 80 additions and 67 deletions

View File

@ -7,6 +7,6 @@
#include "JsonGenerator/EscapedString.cpp" #include "JsonGenerator/EscapedString.cpp"
#include "JsonGenerator/JsonArrayBase.cpp" #include "JsonGenerator/JsonArrayBase.cpp"
#include "JsonGenerator/JsonObjectBase.cpp"
#include "JsonGenerator/JsonValue.cpp" #include "JsonGenerator/JsonValue.cpp"
#include "JsonGenerator/JsonHashTableBase.cpp"
#include "JsonGenerator/StringBuilder.cpp" #include "JsonGenerator/StringBuilder.cpp"

View File

@ -4,4 +4,4 @@
*/ */
#include "JsonGenerator/JsonArray.h" #include "JsonGenerator/JsonArray.h"
#include "JsonGenerator/JsonHashTable.h" #include "JsonGenerator/JsonObject.h"

View File

@ -14,8 +14,8 @@
<ClInclude Include="EscapedString.h" /> <ClInclude Include="EscapedString.h" />
<ClInclude Include="JsonArray.h" /> <ClInclude Include="JsonArray.h" />
<ClInclude Include="JsonArrayBase.h" /> <ClInclude Include="JsonArrayBase.h" />
<ClInclude Include="JsonHashTable.h" /> <ClInclude Include="JsonObject.h" />
<ClInclude Include="JsonHashTableBase.h" /> <ClInclude Include="JsonObjectBase.h" />
<ClInclude Include="JsonPrintable.h" /> <ClInclude Include="JsonPrintable.h" />
<ClInclude Include="JsonValue.h" /> <ClInclude Include="JsonValue.h" />
<ClInclude Include="Print.h" /> <ClInclude Include="Print.h" />
@ -25,7 +25,7 @@
<ItemGroup> <ItemGroup>
<ClCompile Include="EscapedString.cpp" /> <ClCompile Include="EscapedString.cpp" />
<ClCompile Include="JsonArrayBase.cpp" /> <ClCompile Include="JsonArrayBase.cpp" />
<ClCompile Include="JsonHashTableBase.cpp" /> <ClCompile Include="JsonObjectBase.cpp" />
<ClCompile Include="JsonValue.cpp" /> <ClCompile Include="JsonValue.cpp" />
<ClCompile Include="Print.cpp" /> <ClCompile Include="Print.cpp" />
<ClCompile Include="StringBuilder.cpp" /> <ClCompile Include="StringBuilder.cpp" />

View File

@ -24,12 +24,6 @@
<ClInclude Include="JsonArrayBase.h"> <ClInclude Include="JsonArrayBase.h">
<Filter>Header Files</Filter> <Filter>Header Files</Filter>
</ClInclude> </ClInclude>
<ClInclude Include="JsonHashTable.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="JsonHashTableBase.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="JsonPrintable.h"> <ClInclude Include="JsonPrintable.h">
<Filter>Header Files</Filter> <Filter>Header Files</Filter>
</ClInclude> </ClInclude>
@ -45,6 +39,12 @@
<ClInclude Include="StringBuilder.h"> <ClInclude Include="StringBuilder.h">
<Filter>Header Files</Filter> <Filter>Header Files</Filter>
</ClInclude> </ClInclude>
<ClInclude Include="JsonObjectBase.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="JsonObject.h">
<Filter>Header Files</Filter>
</ClInclude>
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<ClCompile Include="EscapedString.cpp"> <ClCompile Include="EscapedString.cpp">
@ -53,9 +53,6 @@
<ClCompile Include="JsonArrayBase.cpp"> <ClCompile Include="JsonArrayBase.cpp">
<Filter>Source Files</Filter> <Filter>Source Files</Filter>
</ClCompile> </ClCompile>
<ClCompile Include="JsonHashTableBase.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="JsonValue.cpp"> <ClCompile Include="JsonValue.cpp">
<Filter>Source Files</Filter> <Filter>Source Files</Filter>
</ClCompile> </ClCompile>
@ -65,5 +62,8 @@
<ClCompile Include="Print.cpp"> <ClCompile Include="Print.cpp">
<Filter>Source Files</Filter> <Filter>Source Files</Filter>
</ClCompile> </ClCompile>
<ClCompile Include="JsonObjectBase.cpp">
<Filter>Source Files</Filter>
</ClCompile>
</ItemGroup> </ItemGroup>
</Project> </Project>

View File

@ -1,27 +0,0 @@
/*
* Arduino JSON library
* Benoit Blanchon 2014 - MIT License
*/
#pragma once
#include "JsonHashTableBase.h"
namespace ArduinoJson
{
namespace Generator
{
template<int N>
class JsonHashTable : public JsonHashTableBase
{
public:
JsonHashTable()
: JsonHashTableBase(items, N)
{
}
private:
KeyValuePair items[N];
};
}
}

View File

@ -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 <int N>
class JsonObject : public JsonObjectBase
{
public:
JsonObject()
: JsonObjectBase(items, N)
{
}
private:
KeyValuePair items[N];
};
// Obsolete: use JsonObject instead
template <int N>
class DEPRECATED JsonHashTable : public JsonObject<N>
{
};
}
}

View File

@ -3,11 +3,11 @@
* Benoit Blanchon 2014 - MIT License * Benoit Blanchon 2014 - MIT License
*/ */
#include "JsonHashTable.h" #include "JsonObjectBase.h"
using namespace ArduinoJson::Generator; using namespace ArduinoJson::Generator;
size_t JsonHashTableBase::printTo(Print& p) const size_t JsonObjectBase::printTo(Print& p) const
{ {
size_t n = 0; size_t n = 0;

View File

@ -12,7 +12,7 @@ namespace ArduinoJson
{ {
namespace Generator namespace Generator
{ {
class JsonHashTableBase : public JsonPrintable class JsonObjectBase : public JsonPrintable
{ {
public: public:
@ -48,7 +48,7 @@ namespace ArduinoJson
Internals::JsonValue value; Internals::JsonValue value;
}; };
JsonHashTableBase(KeyValuePair* items, int capacity) JsonObjectBase(KeyValuePair* items, int capacity)
: items(items), capacity(capacity), count(0) : items(items), capacity(capacity), count(0)
{ {
} }

View File

@ -52,7 +52,7 @@ namespace ArduinoJson
set<2>(value); set<2>(value);
} }
template<int DIGITS> template <int DIGITS>
void set(double value) void set(double value)
{ {
printToImpl = &printDoubleTo<DIGITS>; printToImpl = &printDoubleTo<DIGITS>;
@ -77,14 +77,14 @@ namespace ArduinoJson
Content content; Content content;
size_t(*printToImpl)(const Content&, Print&); size_t(* printToImpl)(const Content&, Print&);
static size_t printBoolTo(const Content&, Print&); static size_t printBoolTo(const Content&, Print&);
static size_t printLongTo(const Content&, Print&); static size_t printLongTo(const Content&, Print&);
static size_t printPrintableTo(const Content&, Print&); static size_t printPrintableTo(const Content&, Print&);
static size_t printStringTo(const Content&, Print&); static size_t printStringTo(const Content&, Print&);
template<int DIGITS> template <int DIGITS>
static size_t printDoubleTo(const Content& c, Print& p) static size_t printDoubleTo(const Content& c, Print& p)
{ {
return p.print(c.asDouble, DIGITS); return p.print(c.asDouble, DIGITS);

View File

@ -5,7 +5,7 @@
#include "CppUnitTest.h" #include "CppUnitTest.h"
#include "JsonArray.h" #include "JsonArray.h"
#include "JsonHashTable.h" #include "JsonObject.h"
using namespace Microsoft::VisualStudio::CppUnitTestFramework; using namespace Microsoft::VisualStudio::CppUnitTestFramework;
using namespace ArduinoJson::Generator; using namespace ArduinoJson::Generator;

View File

@ -55,7 +55,7 @@
<WarningLevel>Level3</WarningLevel> <WarningLevel>Level3</WarningLevel>
<Optimization>Disabled</Optimization> <Optimization>Disabled</Optimization>
<AdditionalIncludeDirectories>$(VCInstallDir)UnitTest\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <AdditionalIncludeDirectories>$(VCInstallDir)UnitTest\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>_DEBUG;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions> <PreprocessorDefinitions>ARDUINO_JSON_NO_DEPRECATION_WARNING;_DEBUG;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<UseFullPaths>true</UseFullPaths> <UseFullPaths>true</UseFullPaths>
</ClCompile> </ClCompile>
<Link> <Link>

View File

@ -5,7 +5,7 @@
#include "CppUnitTest.h" #include "CppUnitTest.h"
#include "JsonArray.h" #include "JsonArray.h"
#include "JsonHashTable.h" #include "JsonObject.h"
using namespace Microsoft::VisualStudio::CppUnitTestFramework; using namespace Microsoft::VisualStudio::CppUnitTestFramework;
using namespace ArduinoJson::Generator; using namespace ArduinoJson::Generator;

View File

@ -15,7 +15,7 @@ void setup()
array.add<6>(48.756080); // 6 is the number of decimals to print 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 array.add<6>(2.302038); // if not specified, 2 digits are printed
JsonHashTable<3> root; JsonObject<3> root;
root.add("sensor", "gps"); root.add("sensor", "gps");
root.add("time", 1351824120); root.add("time", 1351824120);
root.add("data", array); root.add("data", array);

View File

@ -15,7 +15,7 @@ void setup()
JsonParser<16> parser; JsonParser<16> parser;
JsonHashTable root = parser.parse(json); JsonObject root = parser.parse(json);
if (!root.success()) if (!root.success())
{ {

View File

@ -1,10 +1,6 @@
JsonParser KEYWORD1 JsonParser KEYWORD1
JsonArray KEYWORD1 JsonArray KEYWORD1
JsonHashTable KEYWORD1 JsonObject KEYWORD1
getArray KEYWORD2 add KEYWORD2
getBool KEYWORD2 parse KEYWORD2
getDouble KEYWORD2 success KEYWORD2
getHashTableKEYWORD2
getLong KEYWORD2
parseArray KEYWORD2
parseHashTable KEYWORD2