Configure servicestack.text para lanzar en JSON no válido
-
12-11-2019 - |
Pregunta
Es posible realizar el lanzamiento de la biblioteca de SERVICESTACK.TEXT cuando intente deserializar el JSON no válido.De forma predeterminada, parece que el JSON no válido simplemente se ignora, de modo que el objeto de resultado contiene valores nulos.
Cuando intento deserializar este JSON (A "Falta después de MongoconnectionString)
{
"MongoDb": {
"MongoConnectionString:"mongodb://localhost:27017/x",
"MongoDatabase":"x",
"MongoSafeModeEnabled":true,
"MongoSafeModeFSync":true,
"MongoSafeModeWriteReplicationCount":
"MongoSafeModeWriteTimeout":"00:00:00"
},
haciendo esto: jsonserializer.deserializefromstring (JSON); donde
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;}
}
}
Obtengo un objeto de configuración donde los mongodbsettings son nulos.Preferiría obtener una ejecución en este caso.¿Esto es posible?
Solución
Por el momento, los serializadores de MADRICESTACK están optimizados para la resiliencia, es decir, deserializar tanto como sea posible sin error.
Recomendaría agregar parte de su propia validación que comprueba la serialización publicada para hacer ejercicio qué campos no estaban deserializados correctamente.
También puede enviar una solicitud de extracción a la servicestack.text proyecto que admite unaIndicador opt-in (es decir, en JSCONFIG) para cambiar el comportamiento para lanzar excepciones.