Skip to main content

Flask extension to validate JSON requests

Project description


This extension makes it easy to validate JSON data that is sent to your Flask app using the jsonschema spec


Flask-json-schema is available on PyPI and can be installed with

pip install flask-json-schema

The extension can either be initialized directly:

from flask import Flask
from flask_json_schema import JsonSchema

app = Flask(__name__)
schema = JsonSchema(app)

Or through the factory method:

schema = JsonSchema()

app = Flask(__name__)

Quick example

from flask_json_schema import JsonSchema, JsonValidationError
from flask import Flask, jsonify, request

app = Flask(__name__)
schema = JsonSchema(app)

todo_schema = {
    'required': ['todo'],
    'properties': {
        'todo': { 'type': 'string' },
        'priority': { 'type': 'integer' },

todos = []

def validation_error(e):
    return jsonify({ 'error': e.message, 'errors': [validation_error.message for validation_error  in e.errors]})

@app.route('/todo', methods=['GET', 'POST'])
def create_message():
    if request.method == 'POST':
        todos.append( request.get_json() )
        return jsonify({ 'success': True, 'message': 'Created todo' })

    return jsonify(todos)'', 5000, debug=True)

See for the source code


Project details

Download files

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

Source Distribution

Flask-json-schema-0.0.5.tar.gz (2.7 kB view hashes)

Uploaded source

Built Distribution

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Huawei Huawei PSF Sponsor Microsoft Microsoft PSF Sponsor NVIDIA NVIDIA PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page