TBaseJSONReader class
Abstract base class for JSON readers
Declaration
TBaseJSONReader = class(TObject)Inheritance
- TBaseJSONReader
- 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
- TJSONEventReader
- TJSONConsumerReader
- TJSONScanner
Properties
Scanner | protected | |
Options | public | JSON parsing options that control reader behavior |
Methods
DoError | protected | |
DoParse | protected | |
GetNextToken | protected | |
CurrentTokenString | protected | |
CurrentToken | protected | |
KeyValue | protected | |
StringValue | protected | |
NullValue | protected | |
FloatValue | protected | |
BooleanValue | protected | |
NumberValue | protected | |
IntegerValue | protected | |
Int64Value | protected | |
QWordValue | protected | |
StartArray | protected | |
StartObject | protected | |
EndArray | protected | |
EndObject | protected | |
ParseArray | protected | |
ParseObject | protected | |
ParseNumber | protected | |
DoExecute | protected | |
Create | public | Creates a new JSON reader with specified source and options |
Destroy | public | Destroys 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.
