A json validator focused on speed.
- Not recursion
- Works with Python 2.7.x, 3.4.x, 3.5.x, 3.6. It may work with 3.7.X
- Constrains based on python types.
- Lazy Validation
from json_validator import JsonValidator
constrain = {
'string': {}, # str by default.
'integer': {'type': int},
'float': {'type': float},
'boolean': {'type': bool},
'json': {'type': dict },
'list': {'type': list},
'extra_1': {},
'extra_2': {},
}
json = {
'string': 'foo',
'integer': 42,
'float': 1.10,
'boolean': True
}
# accepts json string, dict and lists.
res, err = JsonValidator(constrain).validate(json)
res == json # => True
err == {'extra_1': 'Missing field', 'extra_2': 'Missing field'} # => True
See all rules for fields here.
pip install sonic182_json_validator
Install packages with pip-tools:
pip install pip-tools
pip-compile
pip-compile dev-requirements.in
pip-sync requirements.txt dev-requirements.txt
- Documentation about rules.
- Fork
- create a branch
feature/your_feature
- commit - push - pull request
Thanks :)