json – Extractors for JSON data extracting.¶
- class data_extractor.json.JSONExtractor(*args: Any, **kwargs: Any)¶
Bases:
AbstractSimpleExtractorUse JSONPath expression implementated by jsonpath-extractor, jsonpath-rw or jsonpath-rw-ext packages for JSON data extracting. Change json_extractor_backend value to indicate which package to use.
>>> import data_extractor.json >>> from data_extractor.json import JSONPathExtractor >>> data_extractor.json.json_extractor_backend = JSONPathExtractor
Before extracting, should parse the JSON text into Python object.
- Parameters:
expr (str) – JSONPath Expression.
- extract(element: Any) Any¶
Extract data or subelement from element.
- Parameters:
element (Any) – The target data node element.
- Returns:
Data or subelement.
- Return type:
Any
- Raises:
ExprError – Extractor Expression Error.
- extract_first(element: Any, default: Any = sentinel) Any¶
Extract the first data or subelement from extract method call result.
- Parameters:
element (Any) – The target data node element.
default (Any, optional) – Default value when not found. Default:
data_extractor.utils.sentinel.
- Returns:
Data or subelement.
- Return type:
Any
- Raises:
ExtractError – Thrown by extractor extracting wrong data.
- class data_extractor.json.JSONPathExtractor(*args: Any, **kwargs: Any)¶
Bases:
JSONExtractorUse JSONPath expression implementated by jsonpath-extractor package for JSON data extracting.
Before extracting, should parse the JSON text into Python object.
- Parameters:
expr (str) – JSONPath Expression.
- extract(element: Any) Any¶
Extract data from JSON data.
- Parameters:
element (Any) – Python object parsed from JSON text.
- Returns:
Data.
- Return type:
Any
- extract_first(element: Any, default: Any = sentinel) Any¶
Extract the first data or subelement from extract method call result.
- Parameters:
element (Any) – The target data node element.
default (Any, optional) – Default value when not found. Default:
data_extractor.utils.sentinel.
- Returns:
Data or subelement.
- Return type:
Any
- Raises:
ExtractError – Thrown by extractor extracting wrong data.
- class data_extractor.json.JSONPathRWExtExtractor(*args: Any, **kwargs: Any)¶
Bases:
JSONPathRWExtractorUse JSONPath expression implementated by jsonpath-rw-ext package for JSON data extracting.
Before extracting, should parse the JSON text into Python object.
- Parameters:
expr (str) – JSONPath Expression.
- extract(element: Any) Any¶
Extract data from JSON data.
- Parameters:
element (Any) – Python object parsed from JSON text.
- Returns:
Data.
- Return type:
Any
- extract_first(element: Any, default: Any = sentinel) Any¶
Extract the first data or subelement from extract method call result.
- Parameters:
element (Any) – The target data node element.
default (Any, optional) – Default value when not found. Default:
data_extractor.utils.sentinel.
- Returns:
Data or subelement.
- Return type:
Any
- Raises:
ExtractError – Thrown by extractor extracting wrong data.
- class data_extractor.json.JSONPathRWExtractor(*args: Any, **kwargs: Any)¶
Bases:
JSONExtractorUse JSONPath expression implementated by jsonpath-rw package for JSON data extracting.
Before extracting, should parse the JSON text into Python object.
- Parameters:
expr (str) – JSONPath Expression.
- extract(element: Any) Any¶
Extract data from JSON data.
- Parameters:
element (Any) – Python object parsed from JSON text.
- Returns:
Data.
- Return type:
Any
- extract_first(element: Any, default: Any = sentinel) Any¶
Extract the first data or subelement from extract method call result.
- Parameters:
element (Any) – The target data node element.
default (Any, optional) – Default value when not found. Default:
data_extractor.utils.sentinel.
- Returns:
Data or subelement.
- Return type:
Any
- Raises:
ExtractError – Thrown by extractor extracting wrong data.
- data_extractor.json.json_extractor_backend¶
alias of
JSONPathExtractor