簡體   English   中英

使用 JsonConvert 反序列化 Json 文件時進行調試

[英]Debugging when deserializing a Json file with JsonConvert

有沒有辦法在使用 JsonConvert 進行反序列化時“調試 Json 文件”?
如果正在處理的 Json 文件的行(或行組)可以作為調試選項打印,那將非常有用。
否則,當 Json 文件反序列化為 object 失敗時,很難找出該文件有什么問題。

您可以實現一個自定義TraceWriter ,在反序列化進行時記錄到控制台,就像這樣。 當然,您也可以將其包裝到 log4net 日志條目中,或者做任何您喜歡的事情。:

public class ConsoleTraceWriter : ITraceWriter
{    
    public TraceLevel LevelFilter
    {
        // trace all messages
        get { return TraceLevel.Verbose; }
    }

    public void Trace(TraceLevel level, string message, Exception ex)
    {
        Console.WriteLine(level.ToString() + ": " + message);
        if (ex != null) {
            Console.WriteLine(level.ToString() + ": " + message + " Ex: " + ex.Message);
        }
    }
}

並將其設置為反序列化

JsonConvert.DeserializeObject(myJson, new JsonSerializerSettings { TraceWriter = new ConsoleTraceWriter() });

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM