Resolving JSON References¶
-
class
jsonschema.
RefResolver
(base_uri, referrer, store=(), cache_remote=True, handlers=(), urljoin_cache=None, remote_cache=None)[source]¶ Resolve JSON References.
Parameters: - base_uri (str) – The URI of the referring document
- referrer – The actual referring document
- store (dict) – A mapping from URIs to documents to cache
- cache_remote (bool) – Whether remote refs should be cached after first resolution
- handlers (dict) – A mapping from URI schemes to functions that should be used to retrieve them
- urljoin_cache (functools.lru_cache) – A cache that will be used for caching the results of joining the resolution scope to subscopes.
- remote_cache (functools.lru_cache) – A cache that will be used for caching the results of resolved remote URLs.
-
classmethod
from_schema
(schema, *args, **kwargs)[source]¶ Construct a resolver from a JSON schema object.
Parameters: schema – the referring schema Returns: RefResolver
-
resolve_fragment
(document, fragment)[source]¶ Resolve a
fragment
within the referenceddocument
.Parameters: - document – The referrant document
- fragment (str) – a URI fragment to resolve within it
-
resolve_remote
(uri)[source]¶ Resolve a remote
uri
.If called directly, does not check the store first, but after retrieving the document at the specified URI it will be saved in the store if
cache_remote
is True.Note
If the requests library is present,
jsonschema
will use it to request the remoteuri
, so that the correct encoding is detected and used.If it isn’t, or if the scheme of the
uri
is nothttp
orhttps
, UTF-8 is assumed.Parameters: uri (str) – The URI to resolve Returns: The retrieved document