สามารถใช้ไลบรารี python-jsonschema-objects ซึ่งสร้างบน jsonschema ไลบรารีนี้ให้การผูกคลาสอัตโนมัติจาก JSON Schema เพื่อใช้ใน Python
ตัวอย่าง JSON Schema
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"]
}'''
แปลง Schema เป็นคลาส
import python_jsonschema_objects as pjs builder = pjs.ObjectBuilder(schema) ns = builder.build_classes() Person = ns.ExampleSchema jack = Person(firstName="Jack", lastName="Sparrow") print(jack.lastName) # ผลลัพธ์: example_schema lastName=Sparrow age=None firstName=Jack
การตรวจสอบความถูกต้อง (Validation)
jack.age = -2 # python_jsonschema_objects.validators.ValidationError: -2 was less or equal to than 0
ไลบรารีนี้จะตรวจสอบเงื่อนไขใน schema เช่น minimum: 0 สำหรับอายุ อัตโนมัติ