Poco::JSON

class Handler

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

Description

Interface for handling parsing events generated by the JSON Parser.

An application can implement a subclass of Handler to implement callback-based parsing of a JSON document, similar to how a SAX parser would handle XML.

Inheritance

Known Derived Classes: ParseHandler, PrintHandler

Member Summary

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

Types Aliases

Ptr

using Ptr = SharedPtr < Handler >;

Constructors

Handler

Handler();

Creates an empty Handler.

Destructor

~Handler virtual

virtual ~Handler();

Destroys the Handler.

Member Functions

asStruct virtual

virtual Poco::DynamicStruct asStruct() const;

Returns the result of the parser (an object, array or string), empty Var if there is no result.

asVar virtual

virtual Poco::Dynamic::Var asVar() const;

Returns the result of the parser (an object, array or string), empty Var if there is no result.

endArray virtual

virtual void endArray() = 0;

The parser has read a ], meaning the array is read.

endObject virtual

virtual void endObject() = 0;

The parser has read a }, meaning the object is read.

key virtual

virtual void key(
    const std::string & k
) = 0;

A key of an object is read.

null virtual

virtual void null() = 0;

A null value is read.

reset virtual

virtual void reset() = 0;

Resets the handler state.

startArray virtual

virtual void startArray() = 0;

The parser has read a [, meaning a new array will be read.

startObject virtual

virtual void startObject() = 0;

The parser has read a {, meaning a new object will be read.

value virtual

virtual void value(
    int v
) = 0;

An integer value is read.

value virtual

virtual void value(
    unsigned v
) = 0;

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

value virtual

virtual void value(
    Int64 v
) = 0;

A 64-bit integer value is read.

value virtual

virtual void value(
    UInt64 v
) = 0;

An unsigned 64-bit integer value is read. This will only be triggered if the value cannot fit into a signed 64-bit integer.

value virtual

virtual void value(
    const std::string & value
) = 0;

A string value is read.

value virtual

virtual void value(
    double d
) = 0;

A double value is read.

value virtual

virtual void value(
    bool b
) = 0;

A boolean value is read.