#include </home/gallen/repositories/libvariant/src/JSONEmitter.h>
Public Member Functions | |
| JSONEmitterImpl (shared_ptr< EmitterOutput > o, Variant params) | |
| virtual void | BeginDocument () |
| virtual void | EndDocument () |
| virtual void | BeginMap (int length) |
| virtual void | EndMap () |
| virtual void | BeginList (int length) |
| virtual void | EndList () |
| virtual void | EmitNull () |
| virtual void | EmitTrue () |
| virtual void | EmitFalse () |
| virtual void | Emit (const char *v) |
| virtual void | Emit (intmax_t v) |
| virtual void | Emit (uintmax_t v) |
| virtual void | Emit (double v) |
| virtual void | Emit (ConstBlobPtr b) |
| virtual void | Flush () |
| virtual void | Close () |
| virtual Variant | GetParam (const std::string &key) |
| virtual Variant | GetParams () |
| virtual void | SetParam (const std::string &key, Variant value) |
Public Member Functions inherited from libvariant::EmitterImpl | |
| virtual void | SetParams (Variant params) |
A simple JSON emitter class to make it simple to emit valid JSON in a program. Does minimal error checking. All strings are assumed to be UTF-8 encoded.
This class buffers with a small buffer otherwise it would internally perform many calls to write with 1 or 2 bytes. Flush automatically happens on EndMap and EndList.
Supported parameters are: "pretty": boolean "indent": integer (number of spaces to indent when pretty is on, default 4) "precision": integer (number of digits for a float) "strict": be more strict about emitting correct json
1.8.7