我正在使用.NET JSON解析器,并希望序列化我的配置文件,以便它是可读的.所以代替:
{"blah":"v", "blah2":"v2"}
Run Code Online (Sandbox Code Playgroud)
我想要更好的东西:
{
"blah":"v",
"blah2":"v2"
}
Run Code Online (Sandbox Code Playgroud)
我的代码是这样的:
using System.Web.Script.Serialization;
var ser = new JavaScriptSerializer();
configSz = ser.Serialize(config);
using (var f = (TextWriter)File.CreateText(configFn))
{
f.WriteLine(configSz);
f.Close();
}
Run Code Online (Sandbox Code Playgroud) 如何用C#美化JSON?我想在TextBox控件中打印结果.
是否可以使用JavaScriptSerializer,或者我应该使用JSON.net?除非我必须这样做,否则我想避免反序列化字符串.
我尝试了Ctrl+ K、Ctrl+ D,但它仅适用于 *.cs 文件。JSON 文件没有错误,而且不大,但是当我按Ctrl+ K, Ctrl+时D,它说该命令不可用。我尝试了在互联网上找到的其他一些组合,但它们根本不起作用。我也没有 JSON 的文本编辑器选项。我是否需要额外安装一些东西才能让它们出现?
\n\n我有 Visual Studio Community\xc2\xa02019 16.4.4 和 Windows 10 x64。
\n上下文
语言:C#
平台版本:Microsoft .Net Framework 4.0
操作系统:Windows 7 Professional(64位)
约束:Microsoft MVC.Net 3.0
问题
我发现自己现在在浏览器中大量查看JSON,将浏览器指向一个Controller Action或我本地开发服务器上的另一个,并在视觉上解析JSON以确保所有内容都按照我们想要的方式进行格式化.MVC 3序列化程序(或JSON.Net序列化程序)返回的JSON总是返回一个缩小的字符串,所以我结束了这样的事情:
{"Bars":[{"Name":"Ghost Bar","Address":"2440 Victory Park Lane, 33rd Floor, Dallas, TX 75219","OpenDate":"\/Date(1208062800000)\/","Status":"Open"},{"Name":"M-Street Bar","Address":"5628 Sears Street, Dallas, TX 75206","OpenDate":"\/Date(1064811600000)\/","Status":"Closed"},{"Name":"Zephyr\u0027s Lounge","Address":"3520 Greenville Avenue, Dallas, TX 75206","OpenDate":"\/Date(981007200000)\/","Status":"Open"}]}
Run Code Online (Sandbox Code Playgroud)
问题
我真的想找到一种方法,至少在调试期间,让JsonResult被"美化",使它看起来更像这样:
{
"Bars": [
{
"Name": "Ghost Bar",
"Address": "2440 Victory Park Lane, 33rd Floor, Dallas, TX 75219",
"OpenDate": "\/Date(1208062800000)\/",
"Status": "Open"
},
{
"Name": "M-Street Bar",
"Address": "5628 Sears Street, Dallas, TX 75206",
"OpenDate": "\/Date(1064811600000)\/",
"Status": "Closed"
},
{
"Name": …Run Code Online (Sandbox Code Playgroud)