Computer >> 컴퓨터 >  >> 프로그램 작성 >> Python

JSON 객체에서 Python 클래스를 생성하는 방법은 무엇입니까?


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