雇用主のために Cisco の ClearAccess アプリケーションへのインターフェイスを構築していて、奇妙に感じたものに出くわしました。
「顧客がネットワーク上に持っているものをすべて入手してください」という単純な呼び出しから返される JSON オブジェクトは、大量の情報を返します。これらの情報は、ミックスで次のようなものを見つけるまで、いくつかの計画の古いオブジェクトに簡単に逆シリアル化できます。
"Settings.Hosts.35.Active":"false", "Settings.Hosts.17.Active":"false",
基本的に、「Settings.Hosts.xx.Active」、「Settings.Hosts.xx.MACAddress」などの命名規則に従う要素を含む大きなオブジェクトがあります。
ドキュメンテーションはせいぜいCiscoからのものであり(オブジェクト定義さえ欠けている)、安全に信頼できる最大のHost.xxがあるかどうか、またはJSON.NETを自分の意志に曲げて強制する方法があるかどうか疑問に思っています。これらの番号付き要素を (概念的に) "Settings.Host" { "MACAddress": "xx:xx:xx:xx:xx", "Active": "false" } のコレクションに
カスタム パーサー (JsonProperty 装飾) の使用を検討しましたが、コピーする例を見つけることができませんでした。