Der folgende Code wird eine Ausnahme werfen:Deserialize null regex Eigenschaft mit json.net
class SimpleClassWithRegex
{
public Regex RegProp { get; set; }
}
[TestMethod]
public void RegexTest()
{
string json = JsonConvert.SerializeObject(new SimpleClassWithRegex {RegProp = null});
// json = {"RegProp":null}
SimpleClassWithRegex obj = JsonConvert.DeserializeObject<SimpleClassWithRegex>(json);
//Above line throws a JsonSerializationException
}
Dies ist für mich wie seltsame Verhalten scheint, kann jemand erklären, warum dies nicht ein Fehler ist? Oder schlagen Sie vielleicht einen Workaround vor? Instanziieren eines Regex
Objekts anstelle der Null wird natürlich verhindern, dass eine Ausnahme ausgelöst wird.
Die Ausnahme hergestellt ist:
Newtonsoft.Json.JsonSerializationException: Unexpected token when reading Regex. Path 'RegProp', line 1, position 15.
Vielen Dank für die Problemumgehung. Ich werde auch einen Fehlerbericht einreichen. –