Argo: JSON Adventures in JSON Schema

You know the feeling:

You’re receiving HTML form input via AJAX and need to make sure that it’s not nonsense.

Users are POSTing, PATCHing, and PUTing JSON to an HTTP API endpoint and you’re tired of writing check after check after check that it’s sensible.

You’ve got a mountain of data in JSON format sitting around as files and need to make sure that there’s some common structure to all of them.

JSON Schema is a decent approach to this problem. But up to now, there hasn’t been (to my knowledge) a JSON Schema validator for Racket.

To fill that gap, I wrote Argo, a Racket library for JSON Schema validation. The official documentation is available here.

At the moment, Argo is a library with only one interesting function, adheres-to-schema?, that takes a piece of JSON data and a JSON Schema as input and returns #t if the data adheres to the schema, #f otherwise.

Check out the Argo homepage if you’re interested in keeping up-to-date with this tool and learning more about JSON Schema.

Although Argo is, for now, rather modest, I’ve got big plans for it. I’d like Argo to become a full-fledged tool for working with JSON Schema.