C# 在c中将日期转换为JSON对象#
我用一个静态方法创建了一个C#类,该方法将任何对象转换为JSON对象。我已经为此使用了C# 在c中将日期转换为JSON对象#,c#,json,datetime,C#,Json,Datetime,我用一个静态方法创建了一个C#类,该方法将任何对象转换为JSON对象。我已经为此使用了JavaScriptSerializar。这是我的密码 public class JS { public static string GetJSON(object obj) { JavaScriptSerializer js = new JavaScriptSerializer(); string retJSON = js.Serialize(obj);
JavaScriptSerializar
。这是我的密码
public class JS
{
public static string GetJSON(object obj)
{
JavaScriptSerializer js = new JavaScriptSerializer();
string retJSON = js.Serialize(obj);
return retJSON;
}
}
我还有一个类只有两个属性,Date
&Remark
。这是我的班级
public class RemarkData
{
public DateTime Date { set; get; }
public string Remark { set; get; }
}
现在,我使用以下代码将RemarkData
类的对象转换为JSON
JS.GetJSON(objRemarkData);
这是我得到的输出
{“日期”:“/日期(1389403352042)/”,“备注”:“Sme备注”}
这是我需要的输出
{“日期”:1389403352042,“备注”:“一些备注”}
我应该怎么做才能得到这样的输出?有什么帮助吗?您可以试试,它将日期序列化为ISO字符串
double ticks = Math.Floor(objRemarkData.Date.ToUniversalTime()
.Subtract(new DateTime(1970, 1, 1))
.TotalMilliseconds);
var newob = new { Date =ticks, Remark = objRemarkData.Remark};
JS.GetJSON(newob);
public class JS
{
public static string GetJSON(object obj)
{
string retJSON = JsonConvert.SerializeObject(obj);
return retJSON;
}
}
实际上,您可以直接使用它,不需要封装在另一个函数中
这也是asp.net web api序列化日期对象的方式。有关为什么ISO字符串是一个不错的选择的更多信息,请查看此链接此长数字是“从纪元开始的毫秒数”。我们可以使用下面的代码片段将其转换为正常的javascript日期,如另一篇so文章中所解释的
您还可以将来自的漂亮库与以下代码片段一起使用
var newDate = dateFormat(jsonDate, "dd/mm/yyyy h:MM TT");
您可能会注册自己的
DateTime
转换器。这个问题的答案是否有助于您:?该示例是以dd/mm/yyyy
或我指定的某种常规格式转换日期。但是日期是如何转换成这种类型的值的呢?它应该是DateTime.Now.Ticks/TimeSpan.tickspermillisond
如何将JSON日期字符串“/date(1389403352042)/”转换成DateTime对象呢?只需对数值进行字符串操作,然后从那里开始?
var newDate = dateFormat(jsonDate, "dd/mm/yyyy h:MM TT");