Skip to main content

A custom json validator

Project description

Build Status Coverage Status PyPI version

Json Validator

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
  • Constrain definitions with python types
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.

Install

pip install sonic182_json_validator

Development

Install packages with pip-tools:

pip install pip-tools
pip-compile
pip-compile dev-requirements.in
pip-sync requirements.txt dev-requirements.txt

TODO

  • Documentation about rules.

Contribute

  1. Fork
  2. create a branch feature/your_feature
  3. commit - push - pull request

Thanks :)

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Filename, size & hash SHA256 hash help File type Python version Upload date
sonic182_json_validator-1.0.2-py2.py3-none-any.whl (6.4 kB) Copy SHA256 hash SHA256 Wheel 3.6 Apr 22, 2018
sonic182_json_validator-1.0.2.tar.gz (5.0 kB) Copy SHA256 hash SHA256 Source None Apr 22, 2018

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page