技术频道导航
HTML/CSS
.NET技术
IIS技术
PHP技术
Js/JQuery
Photoshop
Fireworks
服务器技术
操作系统
网站运营

赞助商

分类目录

赞助商

最新文章

搜索

在 .NET 中美化 JSON 字符串

作者:admin    时间:2023-6-14 23:39:7    浏览:

如果你正在调试输出的 JSON 字符串,你是不是觉得那一串不间断不换行的字符串很难读?如果能输出格式化的可读性高的字符串,那将大大的提高调试效率。在本文中,我将介绍如何在 .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 流或磁盘上的文件)获取字符串格式的数据。然后,你使用上面的代码将其转换为更具可读性的内容。

在实践中,如果你有任何需要在 UI 中显示 JSON 的界面,那就太好了。我显示发送和捕获的 HTTP 内容,如果结果是 JSON,则默认的Raw Response输出如下所示:

 JSON 默认的Raw Response输出

可行但不完全可读。

通过应用格式化,确实可以更容易地看到 JSON 的实际外观: 

格式化后 JSON 的实际外观 

同样,如果你正在处理具有.ToString()返回 JSON 的方法的对象(就像许多在线 SDK 那样!),最好有一种简单的方法将结果格式化为更易读的内容,你可以将其转储到调试控制台中。

这是一个不常需要的问题的简单解决方案,也许这个可能对你们中的一些人也有用。 

相关文章

标签: JSON  JSON字符串  CSharp  
x
  • 站长推荐
/* 左侧显示文章内容目录 */