Python JSONSchema Objects Documentation - …
Python JSONSchema Objects Documentation
Release 0.0.18
Chris Wacek
April 05, 2016
Contents
1 What
3
2 Why
5
3 Other Features
7
4 Installation
9
5 Tests
11
6 Changelog
13
7 API Documentation
15
7.1 Generated Classes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
i
ii
Python JSONSchema Objects Documentation, Release 0.0.18 python-jsonschema-objects provides an automatic class-based binding to JSON schemas for use in python.
Contents
1
Python JSONSchema Objects Documentation, Release 0.0.18
2
Contents
CHAPTER 1
What
python-jsonschema-objects provides an automatic class-based binding to JSON schemas for use in python. For example, given the following schema: {
"title": "Example Schema", "type": "object", "properties": {
"firstName": { "type": "string"
}, "lastName": {
"type": "string" }, "age": {
"description": "Age in years", "type": "integer", "minimum": 0 }, "dogs": { "type": "array", "items": {"type": "string"}, "maxItems": 4 }, "address": { "type": "object", "properties": {
"street": {"type": "string"}, "city": {"type": "string"}, "state": {"type": "string"} }, "required":["street", "city"] }, "gender": { "type": "string", "enum": ["male", "female"] }, "deceased": { "enum": ["yes", "no", 1, 0, "true", "false"] } }, "required": ["firstName", "lastName"] }
3
Python JSONSchema Objects Documentation, Release 0.0.18
jsonschema-objects can generate a class based binding. Assume here that the schema above has been loaded in a variable called schema:
>>> import python_jsonschema_objects as pjs >>> builder = pjs.ObjectBuilder(schema) >>> ns = builder.build_classes() >>> Person = ns.ExampleSchema >>> james = Person(firstName="James", lastName="Bond") >>> james.lastName u'Bond' >>> james
Validations will also be applied as the object is manipulated.
>>> james.age = -2 python_jsonschema_objects.validators.ValidationError: -2 was less or equal to than 0
The object can be serialized out to JSON:
>>> james.serialize() '{"lastName": "Bond", "age": null, "firstName": "James"}'
4
Chapter 1. What
................
................
In order to avoid copyright disputes, this page is only a partial summary.
To fulfill the demand for quickly locating and searching documents.
It is intelligent file search solution for home and business.