無効なJSONを投げるようにServiceStack.Textを設定します
-
12-11-2019 - |
質問
無効なJSONを逆シリアル化しようとすると、servicestack.textライブラリをスローすることは可能です。デフォルトでは、無効なJSONが無視されるようになるように、結果オブジェクトにNULL値が含まれているように見えます。
このJSONを逆シリアル化しようとすると(MongoConnectionStringの後に "A"がありません)
{
"MongoDb": {
"MongoConnectionString:"mongodb://localhost:27017/x",
"MongoDatabase":"x",
"MongoSafeModeEnabled":true,
"MongoSafeModeFSync":true,
"MongoSafeModeWriteReplicationCount":
"MongoSafeModeWriteTimeout":"00:00:00"
},
.
これを行うこと:jSonSerializer.DeserializeFromString(JSON);
public class Configuration {
public class MongoDbSettings
{
public string MongoConnectionString {get;set;}
public string MongoDatabase {get;set;}
public bool MongoSafeModeEnabled {get;set;}
public bool MongoSafeModeFSync {get;set;}
public int MongoSafeModeWriteReplicationCount {get;set;}
public TimeSpan MongoSafeModeWriteTimeout {get;set;}
}
}
.
MongoDSettingsがnullの設定オブジェクトを取得します。この場合、私は執行を得たいと思います。これは可能ですか?
解決
現時点では、ServiceStackシリアライザは回復力のために最適化され、すなわちエラーなしでできるだけ逆シリアル化する。
あなた自身の検証チェック後のシリアル化のいくつかを追加することをお勧めします。
servicestack.text プロジェクトにプル要求を送信することもできます。例外をスローするための動作を変更するための動作を変更するためのオプトインフラグ(すなわち、JSConfig)。
所属していません StackOverflow