genson python ライブラリを使用して json スキーマを構築しようとしています。これをフロントエンドで使用して動的フォームを生成します。この場合、フロントエンドでスキーマ値に基づいてラジオ ボタンを作成する必要があります。しかし、ブール型に問題があります。たとえば、これは私のjsonデータがどのように見えるかです
configuration = {
"displayType": {"Opaque":True, "Border":False}
} #Out of the two options here, only one of them can be true.
そして、これは私がそれからスキーマを作成する方法です。
builder = SchemaBuilder(schema_uri="https://json-schema.org/draft/2020-12/schema")
builder.add_object(configuration)
schema = builder.to_schema()
生成されたスキーマは次のようになります。
{
'type': 'object',
'properties': {
'Opaque': {
'type': 'boolean'
},
'Border': {
'type': 'boolean'
}
},
'required': ['Border', 'Opaque']
}
上記の必須フィールドで見たように、相互関係に関する情報が必要ですが、必須フィールドしかありません。それに応じてjsonデータを変更するのを手伝ってくれる人はいますか?