json
– Extractors for JSON data extracting.¶
-
class
data_extractor.json.
JSONExtractor
(expr: str)¶ Bases:
data_extractor.core.AbstractSimpleExtractor
Use 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
(expr: str)¶ Bases:
data_extractor.json.JSONExtractor
Use 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
(expr: str)¶ Bases:
data_extractor.json.JSONPathRWExtractor
Use 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
(expr: str)¶ Bases:
data_extractor.json.JSONExtractor
Use 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
¶