Exposed functions and symbols¶
- rapidjson.__author__¶
The authors of the module.
- rapidjson.__version__¶
The version of the module.
- rapidjson.__rapidjson_exact_version__¶
The exact version of the RapidJSON library, as determined by
git describe.
datetime_mode related constants
- rapidjson.DM_NONE¶
This is the default datetime_mode: neither
datenordatetimenortimeinstances are recognized bydumps()andloads().
- rapidjson.DM_ISO8601¶
In this datetime_mode mode
dumps()andloads()handledate,datetimeanddateinstances representing those values using the ISO 8601 format.
- rapidjson.DM_UNIX_TIME¶
This mode tells RapidJSON to serialize
date,datetimeandtimeas numeric timestamps: for the formers it is exactly the result of theirtimestamp()method, that is as the number of seconds passed sinceEPOCH;dateinstances are serialized as the correspondingdatetimeinstance with all the time slots set to 0;timeinstances are serialized as the number of seconds since midnight.Since this is obviously irreversible, this flag is usable only for
dumps(): an error is raised when passed toloads().
- rapidjson.DM_ONLY_SECONDS¶
This is usable in combination with
DM_UNIX_TIMEso that an integer representation is used, ignoring microseconds.
- rapidjson.DM_IGNORE_TZ¶
This can be used combined with
DM_ISO8601orDM_UNIX_TIME, to ignore the value’s timezones.
- rapidjson.DM_NAIVE_IS_UTC¶
This can be used combined with
DM_ISO8601orDM_UNIX_TIME, to tell RapidJSON that the naïve values (that is, without an explicit timezone) are already in UTC timezone.
- rapidjson.DM_SHIFT_TO_UTC¶
This can be used combined with
DM_ISO8601orDM_UNIX_TIME, to always shift values the UTC timezone.
uuid_mode related constants
- rapidjson.UM_NONE¶
This is the default uuid_mode:
UUIDinstances are not recognized bydumps()andloads().
- rapidjson.UM_CANONICAL¶
In this uuid_mode,
loads()recognizes string values containing thexxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxcanonical representation asUUIDinstances;dumps()emits same kind of representation forUUIDinstances as a string value.
- rapidjson.UM_HEX¶
In this uuid_mode
loads()recognizes string values containing exactly 32 hex digits or thexxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxcanonical representation asUUIDinstances;dumps()emits the 32 hex digits ofUUIDinstances as a string value.
number_mode related constants
- rapidjson.NM_NONE¶
This is the default number_mode: numeric values can be as wide as the memory allows.
- rapidjson.NM_DECIMAL¶
In this number_mode
loads()will return floating point values asDecimalinstances instead offloat;dumps()will serializeDecimalinstances like any otherfloatnumber.
- rapidjson.NM_NAN¶
This enables non-numbers (i.e.
nan,+infand-inf) handling in both directions.
- rapidjson.NM_NATIVE¶
In this alternative number_mode numeric values must fit into the underlying C library limits, with a considerable speed benefit.
parse_mode related constants
- rapidjson.PM_NONE¶
This is the default parse_mode: with the exception of the NaN and Infinite recognition active by default, the parser is in strict mode.
- rapidjson.PM_COMMENTS¶
In this parse_mode, the parser allows and ignores one-line
// ...and multi-line/* ... */comments
- rapidjson.PM_TRAILING_COMMAS¶
In this parse_mode, the parser allows and ignores trailing commas at the end of arrays and objects.
bytes_mode related constants
- rapidjson.BM_NONE¶
This disables the default handling mode (
BM_UTF8) ofbytesinstances: they won’t be treated in any special way and will raise aTypeErrorexception when encountered. On the other hand, in this mode they can be managed by a default handler.
- rapidjson.BM_UTF8¶
This is the default setting for bytes_mode: any
bytesinstance will be assumed to be anUTF-8encoded string, and decoded accordingly.
iterable_mode related constants
- rapidjson.IM_ANY_ITERABLE¶
This is the default setting for iterable_mode: any iterable will be dumped as a
JSONarray.
- rapidjson.IM_ONLY_LISTS¶
This disables the default handling mode (
IM_ANY_ITERABLE) of iterable values (with the exception ofstrings andlists): they won’t be treated in any special way and will raise aTypeErrorexception when encountered. On the other hand, in this mode they can be managed by a default handler.
mapping_mode related constants
- rapidjson.MM_ANY_MAPPING¶
This is the default setting for mapping_mode: any mapping will be dumped as a
JSONobject.
- rapidjson.MM_ONLY_DICTS¶
This disables the default handling mode (
MM_ANY_MAPPING) of generic mapping values, they won’t be treated likedicts and will raise aTypeErrorexception when encountered. On the other hand, in this mode they can be managed by a default handler.
- rapidjson.MM_COERCE_KEYS_TO_STRINGS¶
Since
JSONobjects require that all keys must be of type string, when a mapping contains non-string keys, it will be processed by the default handler if available, otherwise aTypeErrorexception is raised.Alternatively, you can use the this option to automatically render such keys as their
str()representation.
- rapidjson.MM_SKIP_NON_STRING_KEYS¶
In this mode, dict keys that are not of a basic type (
str,int,float,bool,None) will be skipped instead of raising aTypeError.
- rapidjson.MM_SORT_KEYS¶
Alphabetically order dictionary keys.
Exceptions
- exception rapidjson.JSONDecodeError¶
A subclass of
ValueError, raised when trying to parse an invalidJSON, either byValidatorobjects or byloads()function.
- exception rapidjson.ValidationError¶
Exception raised by
Validatorobjects, a subclass ofValueError.Its args attribute is a tuple with three string values, respectively the schema keyword that generated the failure, its JSON pointer and a JSON pointer to the error location in the (invalid) document.
write_mode related constants
- rapidjson.WM_COMPACT¶
The default dump mode, without any extra whitespace.
- rapidjson.WM_PRETTY¶
This selects the RapidJSON
PrettyWriter, to produce more readableJSON: each array’s item and object’s key will be preceded by a newline, and nested structures will be indented.
- rapidjson.WM_SINGLE_LINE_ARRAY¶
This tells the
PrettyWriterto emit arrays on a single line, instead of separating items with a newline.