首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >更改MVC 5上的JSON输出

更改MVC 5上的JSON输出
EN

Stack Overflow用户
提问于 2014-05-27 21:36:41
回答 2查看 113关注 0票数 0

我在JavaScript中集成了我的模型的json输出和datatables

数据表期望:

代码语言:javascript
复制
{
   "draw":1,
   "recordsTotal":57,
   "recordsFiltered":57,
   "data":[
      [
         "Airi",
         "Satou",
         "Accountant",
         "Tokyo",
         "28th Nov 08",
         "$162,700"
      ],
      [
         "Airi",
         "Satou",
         "Accountant",
         "Tokyo",
         "28th Nov 08",
         "$162,700"
      ],...
   ]
}

但是我的模型渲染:

代码语言:javascript
复制
[
   {
      "Column1":"data",
      "Column2":"data",
      "Column3":"data",
      "Column4":"data",
      "Column5":"data"
   },
   {
      "Column1":"data",
      "Column2":"data",
      "Column3":"data",
      "Column4":"data",
      "Column5":"data"
   },...
]

我的模型定义为:

代码语言:javascript
复制
Public Class DataForAJAX
    Public Property Column1() As String
    Public Property Column2() As String
    Public Property Column3() As String
    Public Property Column4() As String
    Public Property Column5() As String

End Class

我使用Dapper加载一个(DataForAjax的)IEnumerable

有没有办法输出我想要的数据表?正如您可能已经注意到的,我在json中专门查找数据表的data节点,但也希望填充许多记录。不知怎么的,我想不通。如果它是PHP或Classic ASP,我会很容易地生成:)

感谢任何建设性的帮助,为我指明了正确的方向

EN

回答 2

Stack Overflow用户

发布于 2014-05-27 22:33:16

创建一个DTO类,该类模仿您想要的数据格式,即创建属性名称和层次结构,就像您希望在输出JSON中那样。然后,要么手动将您的模型映射到这个类,要么使用AutoMapper之类的工具自动执行该过程,并将DTO作为结果发送回来。

票数 1
EN

Stack Overflow用户

发布于 2014-05-28 19:47:21

我接受了克里斯·普拉特说的话,并对我最初试图做的事情做了更多的尝试。最后,我创建了一个容器模型:

代码语言:javascript
复制
Public Class DataForAJAXContainer
   Public Property recordsTotal() as Integer
   Public Property recordsFilteredTotal() as Integer
   Public Property draw() as Integer
   Public Property data() as List(Of List(Of String))
End Class

然后创建一个列表项,遍历数据库结果并将每一列添加到列表中

代码语言:javascript
复制
Dim l as New List
l.Add(Column1)
l.Add(Column2)
l.Add(Column3)
l.Add(Column4)
l.Add(Column5)

然后将其添加到我的容器模型中

代码语言:javascript
复制
Dim c as New DataForAJAXContainer
c.data.Add(l)

这一切都发生在每个DataForAJAX对象的循环中。

然后,模型的JSON输出结果将采用数据表所期望的格式。

如果有人有更好/更干净的解决方案,那将是一件很棒的事情

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23890946

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档