JSONオブジェクトからPythonクラスを作成するにはどうすればよいですか?
jsonschemaの上に構築されたpython-jsonschema-objectsを使用できます。python-jsonschema-objectsは、Pythonで使用するための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
-
Python名前空間を作成するにはどうすればよいですか?
各パッケージ、モジュール、クラス、関数、およびメソッド関数は、変数名が解決される「名前空間」を所有しています。関数、モジュール、またはパッケージが評価される(つまり、実行が開始される)と、名前空間が作成されます。したがって、名前空間を作成する場合は、関数を呼び出すか、オブジェクトをインスタンス化するか、モジュールをインポートするか、パッケージをインポートするだけです。たとえば、名前空間というクラスを作成できます。そのクラスのオブジェクトを作成すると、基本的に名前空間が作成されます。 例 このクラスでは、名前空間に付加する変数名を渡すこともできます。たとえば、 class Namespace:
-
Python関数からjsonオブジェクトを返す方法は?
指定されたPythonディクショナリを使用して、次のようにpython関数からjsonオブジェクトを返します。 例 import json a = {'name':'Sarah', 'age': 24, 'isEmployed': True } # a python dictionary def retjson(): python2json = json.dumps(a) print python2json retjson() 出力 {"age": 24, "isEmployed": tru