【问题标题】:Serialize MVC model to JSON将 MVC 模型序列化为 JSON
【发布时间】:2012-06-04 12:45:51
【问题描述】:

我正在尝试做一个非常简单的任务:获取一个 MVC 模型,并将其作为 JSON 发送回服务器。我试过了

 @Html.Raw(Json.Encode(Model));

在调试 JS 时,我看到序列化 JSON 上的日期对象如下所示:/date (00064321)/ 并且在将序列化 JSON 传递给服务器时,服务器端的日期为空。有人知道发生了什么吗?

【问题讨论】:

  • 发布您的 ajax 代码和操作方法,以便我们了解发生了什么

标签: javascript asp.net json asp.net-mvc-3


【解决方案1】:

您必须创建一个匿名对象,将日期时间属性转换为字符串,而不是直接对模型进行 JSON 编码。

例如

var meeting = new Meeting 
              { 
                  Name = "Project Updates", 
                  StartDateTime = DateTime.Now 
              }; 

直接传递模型..

@Html.Raw(Json.Encode(meeting))

生产

{"Name":"Project Updates","StartDateTime":"\/Date(1338381576306)\/"} 

@Html.Raw(Json.Encode(new { 
                  Name = meeting.Name, 
                   StartDateTime = meeting.StartDateTime.ToString()
}))

生产

{"Name":"Project Updates","StartDateTime":"5/30/2012 6:09:36 PM"} 

正如预期的那样。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-09-29
    • 1970-01-01
    • 2017-04-13
    • 2019-06-05
    • 2011-09-06
    相关资源
    最近更新 更多