技術頻道導航
HTML/CSS
.NET技術
IIS技術
PHP技術
Js/JQuery
Photoshop
Fireworks
服務器技術
操作系統(tǒng)
網(wǎng)站運營

贊助商

分類目錄

贊助商

最新文章

搜索

在 .NET 中美化 JSON 字符串

作者:admin    時間:2023-6-14 23:39:7    瀏覽:

如果你正在調(diào)試輸出的 JSON 字符串,你是不是覺得那一串不間斷不換行的字符串很難讀?如果能輸出格式化的可讀性高的字符串,那將大大的提高調(diào)試效率。在本文中,我將介紹如何在 .NET 中美化 JSON 字符串。

通常情況下,JSON.NET 使 JSON 操作變得超級簡單——實際上它是一行代碼:

string jsonFormatted = JValue.Parse(json).ToString(Formatting.Indented);

測試方法如下:

[TestMethod]
public void PrettifyJsonStringTest()
{
    var test = new
    {
        name = "rick",
        company = "Westwind",
        entered = DateTime.UtcNow
    };

    string json = JsonConvert.SerializeObject(test);
    Console.WriteLine(json); // single line JSON string
           
    string jsonFormatted = JValue.Parse(json).ToString(Formatting.Indented);
            
    Console.WriteLine(jsonFormatted);
}

上面的代碼當然是人為設計的,因為SerializeObject()也支持Formatting.Indented選項。但是暫時假設你正在從某個地方(例如 HTTP 流或磁盤上的文件)獲取字符串格式的數(shù)據(jù)。然后,你使用上面的代碼將其轉換為更具可讀性的內(nèi)容。

在實踐中,如果你有任何需要在 UI 中顯示 JSON 的界面,那就太好了。我顯示發(fā)送和捕獲的 HTTP 內(nèi)容,如果結果是 JSON,則默認的Raw Response輸出如下所示:

 JSON 默認的Raw Response輸出

可行但不完全可讀。

通過應用格式化,確實可以更容易地看到 JSON 的實際外觀: 

格式化后 JSON 的實際外觀 

同樣,如果你正在處理具有.ToString()返回 JSON 的方法的對象(就像許多在線 SDK 那樣!),最好有一種簡單的方法將結果格式化為更易讀的內(nèi)容,你可以將其轉儲到調(diào)試控制臺中。

這是一個不常需要的問題的簡單解決方案,也許這個可能對你們中的一些人也有用。 

相關文章

標簽: JSON  JSON字符串  CSharp  
x