class Poco::JSON::Handler

Overview

Interface for handling parsing events generated by the JSON Parser. Moreā€¦

#include <Handler.h>

class Handler
{
public:
    // typedefs

    typedef SharedPtr<Handler> Ptr;

    // methods

    virtual
    void
    reset() = 0;

    virtual
    void
    startObject() = 0;

    virtual
    void
    endObject() = 0;

    virtual
    void
    startArray() = 0;

    virtual
    void
    endArray() = 0;

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

    virtual
    void
    null() = 0;

    virtual
    void
    value(int v) = 0;

    virtual
    void
    value(unsigned v) = 0;

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

    virtual
    void
    value(double d) = 0;

    virtual
    void
    value(bool b) = 0;

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

    virtual
    Poco::DynamicStruct
    asStruct() const;
};

// direct descendants

class ParseHandler;
class PrintHandler;

Detailed Documentation

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.

Construction

virtual
~Handler()

Destroys the Handler.

Methods

virtual
void
reset() = 0

Resets the handler state.

virtual
void
startObject() = 0

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

virtual
void
endObject() = 0

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

virtual
void
startArray() = 0

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

virtual
void
endArray() = 0

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

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

A key of an object is read.

virtual
void
null() = 0

A null value is read.

virtual
void
value(int v) = 0

An integer value is read.

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.

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

A string value is read.

virtual
void
value(double d) = 0

A double value is read.

virtual
void
value(bool b) = 0

A boolean value is read.

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

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

virtual
Poco::DynamicStruct
asStruct() const

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