bes
Updated for version 3.20.6
|
JSON writer. More...
#include <writer.h>
Classes | |
struct | Level |
Information for each nested level. More... | |
Public Types | |
typedef SourceEncoding::Ch | Ch |
typedef SourceEncoding::Ch | Ch |
Public Member Functions | |
int | GetMaxDecimalPlaces () const |
int | GetMaxDecimalPlaces () const |
bool | IsComplete () const |
Checks whether the output is a complete JSON. More... | |
bool | IsComplete () const |
Checks whether the output is a complete JSON. More... | |
void | Reset (OutputStream &os) |
Reset the writer with a new stream. More... | |
void | Reset (OutputStream &os) |
Reset the writer with a new stream. More... | |
void | SetMaxDecimalPlaces (int maxDecimalPlaces) |
Sets the maximum number of decimal places for double output. More... | |
void | SetMaxDecimalPlaces (int maxDecimalPlaces) |
Sets the maximum number of decimal places for double output. More... | |
Writer (OutputStream &os, StackAllocator *stackAllocator=0, size_t levelDepth=kDefaultLevelDepth) | |
Constructor. More... | |
Writer (OutputStream &os, StackAllocator *stackAllocator=0, size_t levelDepth=kDefaultLevelDepth) | |
Constructor. More... | |
Writer (StackAllocator *allocator=0, size_t levelDepth=kDefaultLevelDepth) | |
Writer (StackAllocator *allocator=0, size_t levelDepth=kDefaultLevelDepth) | |
Implementation of Handler | |
| |
bool | Null () |
bool | Bool (bool b) |
bool | Int (int i) |
bool | Uint (unsigned u) |
bool | Int64 (int64_t i64) |
bool | Uint64 (uint64_t u64) |
bool | Double (double d) |
Writes the given double value to the stream. More... | |
bool | RawNumber (const Ch *str, SizeType length, bool copy=false) |
bool | String (const Ch *str, SizeType length, bool copy=false) |
bool | StartObject () |
bool | Key (const Ch *str, SizeType length, bool copy=false) |
bool | EndObject (SizeType memberCount=0) |
bool | StartArray () |
bool | EndArray (SizeType elementCount=0) |
bool | Null () |
bool | Bool (bool b) |
bool | Int (int i) |
bool | Uint (unsigned u) |
bool | Int64 (int64_t i64) |
bool | Uint64 (uint64_t u64) |
bool | Double (double d) |
Writes the given double value to the stream. More... | |
bool | RawNumber (const Ch *str, SizeType length, bool copy=false) |
bool | String (const Ch *str, SizeType length, bool copy=false) |
bool | StartObject () |
bool | Key (const Ch *str, SizeType length, bool copy=false) |
bool | EndObject (SizeType memberCount=0) |
bool | StartArray () |
bool | EndArray (SizeType elementCount=0) |
Static Public Attributes | |
static const int | kDefaultMaxDecimalPlaces = 324 |
Convenience extensions | |
static const size_t | kDefaultLevelDepth = 32 |
OutputStream * | os_ |
internal::Stack< StackAllocator > | level_stack_ |
int | maxDecimalPlaces_ |
bool | hasRoot_ |
bool | String (const Ch *str) |
Simpler but slower overload. More... | |
bool | Key (const Ch *str) |
bool | RawValue (const Ch *json, size_t length, Type type) |
Write a raw JSON value. More... | |
bool | String (const Ch *str) |
Simpler but slower overload. More... | |
bool | Key (const Ch *str) |
bool | RawValue (const Ch *json, size_t length, Type type) |
Write a raw JSON value. More... | |
bool | WriteNull () |
bool | WriteBool (bool b) |
bool | WriteInt (int i) |
bool | WriteUint (unsigned u) |
bool | WriteInt64 (int64_t i64) |
bool | WriteUint64 (uint64_t u64) |
bool | WriteDouble (double d) |
bool | WriteString (const Ch *str, SizeType length) |
bool | ScanWriteUnescapedString (GenericStringStream< SourceEncoding > &is, size_t length) |
bool | WriteStartObject () |
bool | WriteEndObject () |
bool | WriteStartArray () |
bool | WriteEndArray () |
bool | WriteRawValue (const Ch *json, size_t length) |
void | Prefix (Type type) |
bool | EndValue (bool ret) |
bool | WriteNull () |
bool | WriteBool (bool b) |
bool | WriteInt (int i) |
bool | WriteUint (unsigned u) |
bool | WriteInt64 (int64_t i64) |
bool | WriteUint64 (uint64_t u64) |
bool | WriteDouble (double d) |
bool | WriteString (const Ch *str, SizeType length) |
bool | ScanWriteUnescapedString (GenericStringStream< SourceEncoding > &is, size_t length) |
bool | WriteStartObject () |
bool | WriteEndObject () |
bool | WriteStartArray () |
bool | WriteEndArray () |
bool | WriteRawValue (const Ch *json, size_t length) |
void | Prefix (Type type) |
bool | EndValue (bool ret) |
JSON writer.
Writer implements the concept Handler. It generates JSON text by events to an output os.
User may programmatically calls the functions of a writer to generate JSON text.
On the other side, a writer can also be passed to objects that generates events,
for example Reader::Parse() and Document::Accept().
OutputStream | Type of output stream. |
SourceEncoding | Encoding of source string. |
TargetEncoding | Encoding of output stream. |
StackAllocator | Type of allocator for allocating memory of stack. |
Definition at line 95 of file cmr_module/rapidjson/fwd.h.
|
inlineexplicit |
Constructor.
os | Output stream. |
stackAllocator | User supplied allocator. If it is null, it will create a private one. |
levelDepth | Initial capacity of stack. |
Definition at line 99 of file cmr_module/rapidjson/writer.h.
|
inlineexplicit |
Constructor.
os | Output stream. |
stackAllocator | User supplied allocator. If it is null, it will create a private one. |
levelDepth | Initial capacity of stack. |
Definition at line 99 of file dmrpp_module/xml2json/include/rapidjson/writer.h.
|
inline |
Writes the given double
value to the stream.
d | The value to be written. |
Definition at line 184 of file cmr_module/rapidjson/writer.h.
|
inline |
Writes the given double
value to the stream.
d | The value to be written. |
Definition at line 184 of file dmrpp_module/xml2json/include/rapidjson/writer.h.
|
inline |
Checks whether the output is a complete JSON.
A complete JSON has a complete root object or array.
Definition at line 134 of file dmrpp_module/xml2json/include/rapidjson/writer.h.
|
inline |
Checks whether the output is a complete JSON.
A complete JSON has a complete root object or array.
Definition at line 134 of file cmr_module/rapidjson/writer.h.
|
inline |
Write a raw JSON value.
For user to write a stringified JSON as a value.
json | A well-formed JSON value. It should not contain null character within [0, length - 1] range. |
length | Length of the json. |
type | Type of the root of json. |
Definition at line 252 of file cmr_module/rapidjson/writer.h.
|
inline |
Write a raw JSON value.
For user to write a stringified JSON as a value.
json | A well-formed JSON value. It should not contain null character within [0, length - 1] range. |
length | Length of the json. |
type | Type of the root of json. |
Definition at line 254 of file dmrpp_module/xml2json/include/rapidjson/writer.h.
|
inline |
Reset the writer with a new stream.
This function reset the writer with a new stream and default settings, in order to make a Writer object reusable for output multiple JSONs.
os | New output stream. Writer<OutputStream> writer(os1);
writer.StartObject();
// ...
writer.EndObject();
writer.Reset(os2);
writer.StartObject();
// ...
writer.EndObject();
|
Definition at line 124 of file dmrpp_module/xml2json/include/rapidjson/writer.h.
|
inline |
Reset the writer with a new stream.
This function reset the writer with a new stream and default settings, in order to make a Writer object reusable for output multiple JSONs.
os | New output stream. Writer<OutputStream> writer(os1);
writer.StartObject();
// ...
writer.EndObject();
writer.Reset(os2);
writer.StartObject();
// ...
writer.EndObject();
|
Definition at line 124 of file cmr_module/rapidjson/writer.h.
|
inline |
Sets the maximum number of decimal places for double output.
This setting truncates the output with specified number of decimal places.
For example,
The default setting does not truncate any decimal places. You can restore to this setting by calling
Definition at line 163 of file cmr_module/rapidjson/writer.h.
|
inline |
Sets the maximum number of decimal places for double output.
This setting truncates the output with specified number of decimal places.
For example,
The default setting does not truncate any decimal places. You can restore to this setting by calling
Definition at line 163 of file dmrpp_module/xml2json/include/rapidjson/writer.h.
|
inline |
Simpler but slower overload.
Definition at line 239 of file cmr_module/rapidjson/writer.h.
|
inline |
Simpler but slower overload.
Definition at line 241 of file dmrpp_module/xml2json/include/rapidjson/writer.h.