0
無効なjsonをデシリアライズする方法はありますか? options
プロパティの値が無効であるため、newtonsoft jsonデシリアライズエラー処理:部分デシリアライズ
たとえば、次のJSONデシリアライゼーションはJsonReaderException
{
'sessionId': 's0j1',
'commandId': 19,
'options': invalidValue // invalid value
}
で失敗します。
options
の値が無効でも、sessionId
とcommandId
の値を取得する良い方法はありますか?
は、私はそれはそれはresult = null
に
var json = "{'sessionId': 's0j1', 'commandId': 19, 'options': invalidValue}";
var settings = new JsonSerializerSettings
{
Error = delegate(object sender, ErrorEventArgs args)
{
args.ErrorContext.Handled = true;
}
});
var result = JsonConvert.DeserializeObject(json, settings);
ビットをなり、デシリアライゼーション(http://www.newtonsoft.com/json/help/html/SerializationErrorHandling.htm)時のエラーを処理することが可能です知っています。
に
JsonReaderException
を投げるようtry..catch
ブロックがあることが注意、。 Json以外のものを解析する場合は、[この回答](http://stackoverflow.com/a/29146482/579895)を参照してください。 – Pikoh