我想从我的控制器返回 JSON,它是从匿名类型生成的,并且在键名中包含破折号。这可能吗?
所以如果我有这个:
public ActionResult GetJSONData() {
var data = new { DataModifiedDate = myDate.ToShortDateString() };
return Json(data);
}
在客户端,我希望它像这样序列化:
{ "data-modified-date" : "3/17/2011" }
我想要这个的原因是这个 Json 数据最终将成为 DOM 节点上的属性,我想玩得更好,并使用新的 HTML5 数据属性。我可以返回{ modifieddate: "3/17/2011" }
并以这种方式使用它,但如果我能变得更符合我想成为的标准。
我知道如果我编写自己的JsonResult
类,在非匿名类型上使用 WCF JSON 序列化程序,我可以使用DataMemberAttribute
来完成此操作。但对于这样一个简单的愿望来说,这是一个很大的开销。
我也可以让客户在收到数据后为我按摩按键,但我也希望避免这种情况。总而言之,我宁愿不遵循标准,也不愿遵循这些变通办法中的任何一种。