This class provides a mechanism for decoding JSON data into value‐semantic objects. The decode methods are function templates that will decode any object that meets the requirements of a sequence, choice, or array object as defined in the bdlat_sequencefunctions, bdlat_choicefunctions, and bdlat_choicefunctions components respectively. These generic frameworks provide a common compile‐time interface for manipulating struct‐like and union‐like objects. In particular, the types generated by bas_codegen.pl provide the necessary interface and can be decoded using this component.

Synopsis

Declared in <baljsn_decoder.h>

class Decoder;

Member Functions

Name

Description

Decoder [constructor]

Construct a decoder object using the optionally specified basicAllocator. If basicAllocator is 0, the default allocator is used.

decode

decode overloads

decodeAny

decodeAny overloads

loggedMessages

Return a string containing any error, warning, or trace messages that were logged during the last call to the decode method. The log is reset each time decode is called.

numUnknownElementsSkipped

Return the number of unknown elements that were skipped during the previous decoding operation. Note that unknown elements are skipped only if options.skipUnknownElements() == true.

Friends

Name

Description

BloombergLP::baljsn::Decoder_ElementVisitor

This class implements a visitor for decoding elements within a sequence, choice, or array type. This is a component‐private class and should not be used outside of this component. Note that the operators provided in this class match the function signatures required of visitors decoding into elements of compatible types.

BloombergLP::baljsn::Decoder_DecodeImpProxy

This class provides a functor that dispatches the appropriate decodeImp method for a bdeat Dynamic type. Note that the operators provided in this class match the function signatures required of visitors decoding into compatible types.

Created with MrDocs