Poco::JSON

class PrintHandler

File Information

Library: JSON
Package: JSON
Header: Poco/JSON/PrintHandler.h

Description

PrintHandler formats and prints the JSON object to either user-provided std::ostream or standard output. If indent is zero, the output is a condensed JSON string, otherwise, the proper indentation is applied to elements.

Inheritance

Direct Base Classes: Handler

All Base Classes: Handler

Member Summary

Member Functions: comma, endArray, endObject, key, null, reset, setIndent, startArray, startObject, value

Inherited Functions: asStruct, asVar, endArray, endObject, key, null, reset, startArray, startObject, value

Types Aliases

Ptr

using Ptr = SharedPtr < PrintHandler >;

Constructors

PrintHandler

PrintHandler(
    unsigned indent = 0,
    int options = Poco::JSON_WRAP_STRINGS
);

Creates the PrintHandler.

PrintHandler

PrintHandler(
    std::ostream & out,
    unsigned indent = 0,
    int options = Poco::JSON_WRAP_STRINGS
);

Creates the PrintHandler.

Destructor

~PrintHandler virtual

~PrintHandler();

Destroys the PrintHandler.

Member Functions

comma

void comma();

A comma is read; it will be written to the output as "true" or "false".

endArray virtual

void endArray();

The parser has read a ]; the array is closed.

endObject virtual

void endObject();

The parser has read a '}'; the object is closed.

key virtual

void key(
    const std::string & k
);

A key of an object is read; it will be written to the output, followed by a ':'. If indent is greater than zero, the colon is padded by a space before and after.

null virtual

void null();

A null value is read; "null" will be written to the output.

reset virtual

void reset();

Resets the handler state.

setIndent inline

void setIndent(
    unsigned indent
);

Sets indentation.

startArray virtual

void startArray();

The parser has read a [; a new array will be started. If indent is greater than zero, a newline will be appended.

startObject virtual

void startObject();

The parser has read a '{'; a new object is started. If indent is greater than zero, a newline will be appended.

value virtual

void value(
    int v
);

An integer value is read.

value virtual

void value(
    unsigned v
);

An unsigned value is read. This will only be triggered if the value cannot fit into a signed int.

value virtual

void value(
    Int64 v
);

A 64-bit integer value is read; it will be written to the output.

value virtual

void value(
    UInt64 v
);

An unsigned 64-bit integer value is read; it will be written to the output.

value virtual

void value(
    const std::string & value
);

A string value is read; it will be formatted and written to the output.

value virtual

void value(
    double d
);

A double value is read; it will be written to the output.

value virtual

void value(
    bool b
);

A boolean value is read; it will be written to the output.

Variables

JSON_PRINT_FLAT static

static const unsigned JSON_PRINT_FLAT = 0;