¿Hay alguna manera de "depurar un archivo Json" en la deserialización usando JsonConvert?
Sería muy útil que la línea (o grupo de líneas) del archivo Json que se está procesando pudiera imprimirse como una opción de depuración.
De lo contrario, cuando falla la deserialización de un archivo Json en un objeto, puede ser muy difícil averiguar cuál es el problema con ese archivo.
Puede implementar un TraceWriter personalizado que se registra en la consola a medida que avanza la deserialización, como este. Por supuesto, también puede envolverlo en una entrada de registro de log4net o simplemente hacer lo que quiera:
public class ConsoleTraceWriter : ITraceWriter { public TraceLevel LevelFilter { // trace all messages get { return TraceLevel.Verbose; } } public void Trace(TraceLevel level, string message, Exception ex) { if (ex != null) { Console.WriteLine(level.ToString() + ": " + message + " Ex: " + ex.Message); } else { Console.WriteLine(level.ToString() + ": " + message); } } }Y configurarlo en deserialización
JsonConvert.DeserializeObject(myJson, new JsonSerializerSettings { TraceWriter = new ConsoleTraceWriter() });