2

JamesNewton-KingのライブラリJSON.NETの動作に少し奇妙な点があることがわかりました。クライアント側のJSONカスタム「機能」の逆シリアル化に使用しており、妥当性テストも含めてすべてが機能します。クライアントが別のタイプの「機能」を送信するまで:

CustomJSONConverter converter=new CustomJSONConverter();
MyJSONFeature jsonFeature=JsonConvert.Deserialize<MyJSONFeature>(clientString,converter);

指定された文字列が有効な場合は正しいjsonFeatureを返し、文字列に不正な形式のJSONが含まれている場合は例外を正しくスローしますが、文字列に他のタイプの有効なシリアル化された機能が含まれている場合は誤ってオブジェクトを返します。タイプを指定すると、タイプが同じでない場合、Deserialize()メソッドは例外をスローするはずですが、明らかにそうではありません。

カスタムJSONConverterを使用する(または使用しない)ことは効果がありません。特別なJSON属性を処理するためだけにあります。

ドキュメントを掘り下げることはあまり役に立ちませんでした。3.5バージョンを使用しています(.NET Framework 3.5内でも)。私は何か見落としてますか?前もって感謝します...

4

0 に答える 0