Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: MaximInterface
GenericReader< SourceEncoding, TargetEncoding, StackAllocator > Class Template Reference
SAX-style JSON parser. Use Reader for UTF8 encoding and default allocator. More...
#include <reader.h>
Public Types | |
| typedef SourceEncoding::Ch | Ch |
| SourceEncoding character type. | |
Public Member Functions | |
| GenericReader (StackAllocator *stackAllocator=0, size_t stackCapacity=kDefaultStackCapacity) | |
| Constructor. | |
| template<unsigned parseFlags, typename InputStream , typename Handler > | |
| ParseResult | Parse (InputStream &is, Handler &handler) |
| Parse JSON text. | |
| template<typename InputStream , typename Handler > | |
| ParseResult | Parse (InputStream &is, Handler &handler) |
| Parse JSON text (with kParseDefaultFlags) | |
| bool | HasParseError () const |
| Whether a parse error has occured in the last parsing. | |
| ParseErrorCode | GetParseErrorCode () const |
| Get the ParseErrorCode of last parsing. | |
| size_t | GetErrorOffset () const |
| Get the position of last parsing error in input, 0 otherwise. | |
Detailed Description
template<typename SourceEncoding, typename TargetEncoding, typename StackAllocator = CrtAllocator>
class GenericReader< SourceEncoding, TargetEncoding, StackAllocator >
SAX-style JSON parser. Use Reader for UTF8 encoding and default allocator.
GenericReader parses JSON text from a stream, and send events synchronously to an object implementing Handler concept.
It needs to allocate a stack for storing a single decoded string during non-destructive parsing.
For in-situ parsing, the decoded string is directly written to the source text string, no temporary buffer is required.
A GenericReader object can be reused for parsing multiple JSON text.
- Template Parameters:
-
SourceEncoding Encoding of the input stream. TargetEncoding Encoding of the parse output. StackAllocator Allocator type for stack.
Definition at line 466 of file reader.h.
Member Typedef Documentation
| typedef SourceEncoding::Ch Ch |
Constructor & Destructor Documentation
| GenericReader | ( | StackAllocator * | stackAllocator = 0, |
| size_t | stackCapacity = kDefaultStackCapacity |
||
| ) |
Member Function Documentation
| size_t GetErrorOffset | ( | ) | const |
| ParseErrorCode GetParseErrorCode | ( | ) | const |
| bool HasParseError | ( | ) | const |
| ParseResult Parse | ( | InputStream & | is, |
| Handler & | handler | ||
| ) |
Parse JSON text (with kParseDefaultFlags)
- Template Parameters:
-
InputStream Type of input stream, implementing Stream concept Handler Type of handler, implementing Handler concept.
- Parameters:
-
is Input stream to be parsed. handler The handler to receive events.
- Returns:
- Whether the parsing is successful.
| ParseResult Parse | ( | InputStream & | is, |
| Handler & | handler | ||
| ) |
Parse JSON text.
- Template Parameters:
-
parseFlags Combination of ParseFlag. InputStream Type of input stream, implementing Stream concept. Handler Type of handler, implementing Handler concept.
- Parameters:
-
is Input stream to be parsed. handler The handler to receive events.
- Returns:
- Whether the parsing is successful.
Generated on Tue Jul 12 2022 12:06:51 by
1.7.2