forked from bblanchon/ArduinoJson
Generator: added a test of one string in an array
This commit is contained in:
@ -5,9 +5,45 @@
|
||||
|
||||
#pragma once
|
||||
|
||||
template<int N>
|
||||
class JsonArray
|
||||
{
|
||||
public:
|
||||
void writeTo(char* buffer, size_t bufferSize);
|
||||
JsonArray()
|
||||
{
|
||||
itemCount = 0;
|
||||
}
|
||||
|
||||
void add(const char* data)
|
||||
{
|
||||
if (itemCount <= N)
|
||||
items[itemCount++] = data;
|
||||
}
|
||||
|
||||
void writeTo(char* buffer, size_t bufferSize)
|
||||
{
|
||||
buffer[0] = 0;
|
||||
|
||||
append("[", buffer, bufferSize);
|
||||
|
||||
for (int i = 0; i < itemCount; i++)
|
||||
{
|
||||
append("'", buffer, bufferSize);
|
||||
append(items[i], buffer, bufferSize);
|
||||
append("'", buffer, bufferSize);
|
||||
}
|
||||
|
||||
append("]", buffer, bufferSize);
|
||||
}
|
||||
|
||||
private:
|
||||
const char* items[N];
|
||||
int itemCount;
|
||||
|
||||
void append(const char* source, char* dest, size_t destSize)
|
||||
{
|
||||
int len = strlen(dest);
|
||||
strncpy(dest + len, source, destSize - len);
|
||||
}
|
||||
};
|
||||
|
||||
|
Reference in New Issue
Block a user