Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

วิธีสร้างคลาส Python จากออบเจ็กต์ JSON

สามารถใช้ไลบรารี 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 สำหรับอายุ อัตโนมัติ