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

贊助商

分類目錄

贊助商

最新文章

搜索

在 .NET 中美化 JSON 字符串

作者:admin    時(shí)間:2023-6-14 23:39:7    瀏覽:

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

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

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);
}

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

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

 JSON 默認(rèn)的Raw Response輸出

可行但不完全可讀。

通過應(yīng)用格式化,確實(shí)可以更容易地看到 JSON 的實(shí)際外觀: 

格式化后 JSON 的實(shí)際外觀 

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

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

相關(guān)文章

標(biāo)簽: JSON  JSON字符串  CSharp  
x
  • 站長推薦
/* 左側(cè)顯示文章內(nèi)容目錄 */