我正在尝试返回一个对象的美化json序列化并使用Response.Write在ASP.NET中输出它,这是我的代码。没有验证用户输入的明显犯罪,这只是一个愚蠢的小测试应用程序。
try
{
var customer = this.sc.GetCustomer(Convert.ToInt32(TextBox1.Text));
var json = JsonConvert.SerializeObject(customer, Formatting.Indented);
Response.Write(json);
}
catch (Exception ex)
{
Response.Write("An error occurred: " + ex.Message);
}
看起来Formatting.Indented没有效果。我做错了什么?
答案 0 :(得分:4)
看一下你网页的来源,你可能会看到这一切都很好。 HTML在浏览器中呈现时忽略/折叠空格和换行符。
您需要将json
值放在<pre></pre>
标记中以显示间距,或将其放在多行文本框或类似内容中。
Response.Write("<pre>");
Response.Write(json);
Response.Write("</pre>");