JsonParserGeneratorRK
JsonWriterStatic< BUFFER_SIZE > Class Template Reference

Creates a JsonWriter with a statically allocated buffer. More...

#include <JsonParserGeneratorRK.h>

Inheritance diagram for JsonWriterStatic< BUFFER_SIZE >:
JsonWriter JsonBuffer

Additional Inherited Members

- Public Member Functions inherited from JsonWriter
 JsonWriter ()
 Construct a JsonWriter with a dynamically allocated buffer. More...
 
virtual ~JsonWriter ()
 Destroy the object. If the buffer was dynamically allocated it will be freed. More...
 
 JsonWriter (char *buffer, size_t bufferLen)
 Construct a JsonWriter to write to a static buffer. More...
 
void init ()
 Reset the writer, clearing all data. More...
 
bool startObject ()
 Start a new JSON object. Make sure you finish it with finishObjectOrArray()
 
bool startArray ()
 Start a new JSON array. Make sure you finish it with finishObjectOrArray()
 
void finishObjectOrArray ()
 Finsh an object or array started with startObject() or startArray()
 
void insertValue (bool value)
 Inserts a boolean value ("true" or "false"). More...
 
void insertValue (int value)
 Inserts an integer value. More...
 
void insertValue (unsigned int value)
 Inserts an unsigned integer value. More...
 
void insertValue (long value)
 Inserts a long integer value. More...
 
void insertValue (unsigned long value)
 Inserts an unsigned long integer value. More...
 
void insertValue (float value)
 Inserts a floating point value. More...
 
void insertValue (double value)
 Inserts a floating point double value. More...
 
void insertValue (const char *value)
 Inserts a quoted string value. This escapes special characters and encodes utf-8. More...
 
void insertValue (const String &value)
 Inserts a quoted string value. More...
 
void insertKeyObject (const char *key)
 Inserts a new key and empty object. You must close the object using finishObjectOrArray()! More...
 
void insertKeyArray (const char *key)
 Inserts a new key and empty array. You must close the object using finishObjectOrArray()! More...
 
template<class T >
void insertKeyValue (const char *key, T value)
 Inserts a key/value pair into an object. More...
 
template<class T >
void insertArrayValue (T value)
 Inserts a value into an array. More...
 
bool isTruncated () const
 
void setFloatPlaces (int floatPlaces)
 Sets the number of digits for formatting float and double values. More...
 
void insertCheckSeparator ()
 Check to see if a separator needs to be inserted. Used internally. More...
 
bool startObjectOrArray (char startChar, char endChar)
 Used internally to start an object or array. More...
 
void insertChar (char ch)
 Used internally to insert a character. More...
 
void insertString (const char *s, bool quoted=false)
 Used internally to insert a string, quoted or not. More...
 
void insertsprintf (const char *fmt,...)
 Used internally to insert using snprintf formatting. More...
 
void insertvsprintf (const char *fmt, va_list ap)
 Used internally to insert using snprintf formatting with a va_list. More...
 
void setIsFirst (bool isFirst=true)
 Used internally to set the current isFirst flag in the context.
 
- Public Member Functions inherited from JsonBuffer
 JsonBuffer ()
 Construct a JsonBuffer object with no external buffer specified.
 
virtual ~JsonBuffer ()
 Destructor. Destroying the object does not delete any underlying buffer!
 
 JsonBuffer (char *buffer, size_t bufferLen)
 Construct a JsonBuffer with an external buffer of a given size. More...
 
void setBuffer (char *buffer, size_t bufferLen)
 Sets the buffers to the specified buffer and length. More...
 
bool allocate (size_t len)
 Allocate the buffer using malloc/realloc. More...
 
bool addString (const char *data)
 Add a c-string to the end of the buffer. More...
 
bool addData (const char *data, size_t dataLen)
 Add a string to the end of the buffer. More...
 
char * getBuffer () const
 Gets a pointer to the internal buffer. More...
 
size_t getOffset () const
 Gets the current offset for writing.
 
void setOffset (size_t offset)
 swets the current offset for writing
 
size_t getBufferLen () const
 Gets the current length of the buffer. More...
 
void clear ()
 Clears the current buffer for writing. More...
 
- Static Public Attributes inherited from JsonWriter
static const size_t MAX_NESTED_CONTEXT = 9
 
- Protected Attributes inherited from JsonWriter
size_t contextIndex
 Index into the context for the current level of nesting.
 
JsonWriterContext context [MAX_NESTED_CONTEXT]
 Structure for managing nested objects.
 
bool truncated
 true if data was added that didn't fit and was truncated
 
int floatPlaces
 default number of places to display for floating point numbers (default is -1, the default for sprintf)
 
- Protected Attributes inherited from JsonBuffer
char * buffer
 The buffer to to read from or write to. This is not null-terminated.
 
size_t bufferLen
 The length of the buffer in bytes,.
 
size_t offset
 The read or write offset.
 
bool staticBuffers
 True if the buffers were passed in and should not freed or reallocated.
 

Detailed Description

template<size_t BUFFER_SIZE>
class JsonWriterStatic< BUFFER_SIZE >

Creates a JsonWriter with a statically allocated buffer.

You typically do this when you want to create a buffer as a global variable.

Example:

Creates a 256 byte buffer to write JSON to. You'd normally do this as a global variable, but for smaller buffers (256 and smaller should be fine) in the loop thread, you can allocate one on the stack as a local variable.

Parameters
BUFFER_SIZEThe size of the buffer to reserve.

The documentation for this class was generated from the following file: