如何使我的json格式成为垂直方式



我已经在asp.net web api 2中创建了一个web api,我尝试以json格式显示数据,它以水平方式显示,在googlechrome中看起来像这样。我想让格式像图像显示的那样,图像中的数据无关紧要,只是一个显示格式的例子。

我在谷歌chrome中收到以下异常:

This XML file does not appear to have any style information associated with it. The document tree is shown below. <string xmlns="http://schemas.microsoft.com/2003/10/Serialization/">[{"UserId":23,"Name":"Emily","Access":3,"Mobile":"07419231"},{"UserId":31,"Name":"Lydia","Access":5,"Mobile":"67567587"},{"UserId":45,"Name":"Peter","Access":1,"Mobile":"90345853"},{"UserId":56,"Name":"Lebron","Access":4,"Mobile":"43895449"},{"UserId":73,"Name":"Amber","Access":0,"Mobile":"45788477"}]</string>

我所期望的是下面这样的格式:

[
{
"UserId":23,
"Name":"Emily",
"Access":3,
"Mobile":"07419231"
},
{
"UserId":31,
"Name":"Lydia",
"Access":5,
"Mobile":"67567587"
},
{
"UserId":45,
"Name":"Peter",
"Access":1,
"Mobile":"90345853"
},
{
"UserId":56,
"Name":"Lebron",
"Access":4,
"Mobile":"43895449"
},
{
"UserId":73,
"Name":"Amber",
"Access":0,
"Mobile":
"45788477"
}
]

下面是我的代码:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Net.Http;
using System.Web.Http;
using System.Data;
using System.Data.SqlClient;
using Newtonsoft.Json;
namespace ApiTesting.Controllers
{
public class TestController : ApiController
{
SqlConnection con = new SqlConnection(@"server=DESKTOP-US2AF5N; database=Test; integrated security=true;");
public string Get()
{
SqlDataAdapter da = new SqlDataAdapter("Select * From TblDraft", con);
DataTable dt = new DataTable();
da.Fill(dt);
if(dt.Rows.Count>0)
{
return JsonConvert.SerializeObject(dt);
}
else
{
return "No Data Found";
}
}
}

编辑

webapi.config添加了此语法,它可以使用

config.Formatters.JsonFormatter.SerializerSettings.Formatting = Newtonsoft.Json.Formatting.Indented;

您应该尝试在SerializeObject方法中使用Formatting.Indented参数。有关更多信息,您可以查看官方文档:https://www.newtonsoft.com/json/help/html/M_Newtonsoft_Json_JsonConvert_SerializeObject_1.htm

你应该写的是:return JsonConvert.SerializeObject(dt, Formatting.Indented);

最新更新