いくつかのコードを .Net から python に移植しています。
ある時点で、任意に複雑な json をある形式から別の形式に変換する必要があります。
例えば:
{"Query":
{
"Boolean": {
"Operator": "And",
"Parameters": [
{"Equal": {"Name": "Bob"}},
{"Boolean": ...}
]
}
}
}
に...
{"Query":
{
"Left": {"Name":"Bob"},
"Right": {...},
"Operator": "And"
}
}
Newtonsoft.Json.JsonConverter
シリアライゼーション/デシリアライゼーション プロセスにフックするために、Json.Net の優れた機能を使用していました。JsonConverter
同じオブジェクトからこれらの各フォーマットへ/から変換する2 つの があります。
Public Overrides Function CanConvert(objectType As Type) As Boolean
Return GetType(QueryDefinition).IsAssignableFrom(objectType)
End Function
これは、手動で処理したいビットを選択し、特別に処理する必要のないすべてのプロパティ/値をストック コンバーターが処理できるようにすることを意味します。
Python に同等のメカニズム/フレームワークはありますか? または、すべてのプロパティを再帰的に手動で解析する必要がありますか?