Sign in Join
FPDoc Onlineexperiment

TBaseJSONReader class

In unit JsonReader

Abstract base class for JSON readers

Declaration

pascal
TBaseJSONReader = class(TObject)

Inheritance

  1. TBaseJSONReader
  2. TObject

Descends from it: TJSONConsumerReader TJSONEventReader TJSONParser

Description

TBaseJSONReader is the abstract base class for all JSON reading functionality. It provides the core parsing logic and virtual methods that must be implemented by derived classes. The class uses TJSONScanner for tokenization and handles the parsing of JSON objects, arrays, and primitive values. Derived classes must implement abstract methods to handle different JSON element types encountered during parsing.

Errors

Raises EJSONParser when invalid JSON syntax is encountered.

See also

Properties

Scannerprotected
OptionspublicJSON parsing options that control reader behavior

Methods

DoErrorprotected
DoParseprotected
GetNextTokenprotected
CurrentTokenStringprotected
CurrentTokenprotected
KeyValueprotected
StringValueprotected
NullValueprotected
FloatValueprotected
BooleanValueprotected
NumberValueprotected
IntegerValueprotected
Int64Valueprotected
QWordValueprotected
StartArrayprotected
StartObjectprotected
EndArrayprotected
EndObjectprotected
ParseArrayprotected
ParseObjectprotected
ParseNumberprotected
DoExecuteprotected
CreatepublicCreates a new JSON reader with specified source and options
DestroypublicDestroys the JSON reader and frees resources

Inherited

From TObject (40)

AfterConstruction BeforeDestruction CheckDisposed ClassInfo ClassName ClassNameIs ClassParent ClassType CleanupInstance DefaultHandler DefaultHandlerStr Dispatch DispatchStr Disposed DisposeOf Equals FieldAddress Free FreeInstance GetDisposed GetHashCode GetInterface GetInterfaceByStr GetInterfaceEntry GetInterfaceEntryByStr GetInterfaceTable GetInterfaceWeak GetLastCastErrorInfo InheritsFrom InitInstance InstanceSize MethodAddress MethodName newinstance QualifiedClassName SafeCallException StringMessageTable SystemHasExtendedRTTI ToString UnitName

An experiment, built from development snapshots. Not the official Free Pascal or Lazarus documentation.