jsonschema 위에 구축된 python-jsonschema-objects를 사용할 수 있습니다. python-jsonschema-objects는 Python에서 사용할 JSON 스키마에 대한 자동 클래스 기반 바인딩을 제공합니다.피>
다음과 같은 샘플 json 스키마가 있습니다.
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 }, "gender": { "type": "string", "enum": ["male", "female"] }, "deceased": { "enum": ["yes", "no", 1, 0, "true", "false"] } }, "required": ["firstName", "lastName"] } '''
스키마 개체를 클래스로 변환
import python_jsonschema_objects as pjs builder = pjs.ObjectBuilder(schema) ns = builder.build_classes() Person = ns.ExampleSchema jack = Person(firstName="Jack", lastName="Sparrow") jack.lastName example_schema lastName=Sparrow age=None firstName=Jack
검증 -
jack.age = -2 python_jsonschema_objects.validators.ValidationError: -2 was less or equal to than 0