在 .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 的实际外观:
同样,如果你正在处理具有.ToString()
返回 JSON 的方法的对象(就像许多在线 SDK 那样!),最好有一种简单的方法将结果格式化为更易读的内容,你可以将其转储到调试控制台中。
这是一个不常需要的问题的简单解决方案,也许这个可能对你们中的一些人也有用。
相关文章
相关文章
x
- 站长推荐