这是我的服务器端C#代码。
JavaScriptSerializer jsSer = new JavaScriptSerializer();
string strJson = jsSer.Serialize(tableData); \\tableData is List type
string strRawJson = Regex.Replace(strJson, "\\s{2,}", ""); \\ Remove Whitespaces
这是我现在得到的strRawJson的值。
"[{\"RowNumber\":1, ... , "ActivityDate\":\"\\/Date(1378310400000)\\/\",\"ErrMessage\":null}]"
这是第一个问题。
我希望将'ActivityDate'的值视为以下格式:'2013-10-24 12:00:00:000'。我能怎么做?
请注意我想在 C#(NOT JAVASCRIPT)中执行此操作,我也不想使用 JSON.NET
这是我的第二个问题
正如您可以看到我的第三行代码,我使用Regex删除了一些空格。当我通过JavaScriptSerializer生成JSON时会出现另一个可能的错误吗?
非常感谢您提前! :)
[编辑]
我知道JavascriptSerializer是非常有限的,但是我仍然能为我的“第二个”问题得到一些帮助吗?或推荐另一个好的序列化器?
答案 0 :(得分:-1)
你使用MVC.net吗?如果是这样,您可以使用控制器的这种方法:
protected internal JsonResult Json(object data, JsonRequestBehavior behavior)
{
return this.Json(data, (string) null, (Encoding) null, behavior);
}
如果你调用你的动作,你将收到普通的json格式字符串。
您可以使用string.Format()格式化日期,或者只在js中进行格式化。