我試圖從我的控制器發送數據爲純Json,到我的MVC應用程序的客戶端。數據最初是作爲對象列表收集的,但我無法將其轉換爲直接Json。現在在我的控制器代碼如下:C#從MVC控制器返回純Json
[HttpGet]
public JsonResult SecurityPermissionsTableData()
{
List<SecurityPermissionsGridModel> list = securityPermissionsTable.Get(System.Security.Principal.WindowsIdentity.GetCurrent().Name.Split('\\').Last());
string json = JsonConvert.SerializeObject(new
{
data = list
});
return ResultJson(json);
}
public JsonResult ResultJson(object data)
{
return new JsonResult { JsonRequestBehavior = JsonRequestBehavior.AllowGet, Data = data };
}
當我使用JsonConvert.SerializeObject()函數,它返回一個字符串:
"{\"data\":[{\"Username\":\"loganfg\",\"readbutton\":null,\"editbutton\":null,\"deletebutton\":null}]}"
不過,我需要在返回平原的Json形式:
{"data":[{"Username":"lgilmore","readbutton":"<a onclick='SP_read(\"7\")' class='SRKbutton tiny SP_rbutton'>Details</a>","editbutton":null,"deletebutton":null}]}
如何將字符串serialize函數返回爲普通Json?或者我該如何改變我的ResultJson()函數來正確處理和轉換字符串?
不Json的採取對象,而不是對象的列表?而我的代碼是: 名單列表 不 變種名單 –
Life761
我應該更清楚,我需要在一個JSON數組的格式,而不是一個JSON對象 – Life761
@ Life761它會返回一個數組如果'securityPermissionsTable.Get'方法返回一個集合。如果你傳遞一個單獨的對象,它將返回一個單一結構的json。如果你傳遞一個數組,它將返回一個數組。 – Shyju