我正在使用FlexiGrid jQuery插件,我需要从我的MVC应用程序中获取一个JSON对象,如果FlexiGrid仅获取了该对象,这很简单,但是我需要在响应字符串中添加一些项目才能使其与FlexiGrid一起正常工作。
所以这是我的 Controller 代码的一部分:
If Request.QueryString("json") IsNot Nothing Then
Dim data As New StringBuilder()
data.Append("page: " & pageIndex & "," & vbCrLf)
data.Append("total: " & ViewData.TotalCount & "," & vbCrLf)
data.Append("rows: ")
data.Append(Json(objCustomerList))
Return Content(data.ToString())
End If
不幸的是,在上面的代码中,
Json(objCustomerList)
返回'System.Web.MVV.JsonResult'而不是所需的JSON字符串数据。我也尝试Json(objCustomerList).ToString()
只是为了看看会发生什么并且再次发生相同的事情。有任何想法吗?
最佳答案
ASP.NET MVC中的Json()
方法仅通过JavaScriptSerializer
类使用 JsonResult
类。如果您想使用JSON将objCustomerList对象序列化为字符串,则可以自己使用它。
我的建议是采取稍微不同的方法。
Json()
时,它就可以工作,而无需使用StringBuilder
构建JSON字符串。 如果您只是想让代码正常工作,则可以使用override on
JavaScriptSerializer.Serialize()
将该对象进行序列化,然后使用StringBuilder
将结果附加到该对象上。这应该正是您要寻找的。一些相关链接:
关于asp.net - 如何获取JsonResult对象作为字符串,以便可以对其进行修改?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/313281/