日期格式转换?高分求代码

he_hawk 2013-11-20 01:56:19
DateTime转换为JSON问题。我要将实体类对象转换JSON字符串,发送给WCF服务,实体类中的DateTime要求格式要求如下:"RefreshTime":"\/Date(928120800000+0800)\/",

以下是示例请求 Json 正文: 

{
"Equip_ID":2147483647,
"ID":2147483647,
"KeyCode":"字符串内容",
"Operator":"字符串内容",
"RefreshTime":"\/Date(928120800000+0800)\/",
"YNNotAllowedToEnter":"字符串内容",
"YNOpenPeriodOfTime":"字符串内容",
"YNUnclosedAlarm":"字符串内容"
}


我怎么将DateTime转换为 \/Date(928120800000+0800)\/
我将上面的值固定在代码中,其值为
+		RefreshTime	{1999/5/31 11:20:00}	System.DateTime


非常感谢,求代码,别就一句话序列化。我已经不知道怎么序列化成这个格式了。
用XML
我调用下面方法序列化格式完全不一样
public static string Serialize<T>(T obj)
{
if (obj == null) return string.Empty;
using (MemoryStream stream = new MemoryStream())
{
XmlSerializerNamespaces ns = new XmlSerializerNamespaces();
ns.Add("", "");
XmlSerializer slz = new XmlSerializer(obj.GetType());
slz.Serialize(stream, obj, ns);
byte[] buf = stream.ToArray();
return Encoding.UTF8.GetString(buf, 0, buf.Length).Replace("<?xml version=\"1.0\" encoding=\"utf-8\"?>\r\n", "");
}
}
...全文
109 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
he_hawk 2013-11-20
  • 打赏
  • 举报
回复
引用 2 楼 bdmh 的回复:
json不是序列化出来的,你拼接成json格式的字符串,传出去 928120800000+0800 就是时间的毫秒以及时区,自己拼接即可
我怎么转换?直接 .Ticks带如那个格式不对。 按年*365,月*30,感觉也不对,有年366天,有月31天等特殊情况。。 怎么得到毫秒呢?直接.Millisecond,只能得到那个日期数值的毫秒数,也就3位的一个数值。
he_hawk 2013-11-20
  • 打赏
  • 举报
回复
引用 2 楼 bdmh 的回复:
json不是序列化出来的,你拼接成json格式的字符串,传出去 928120800000+0800 就是时间的毫秒以及时区,自己拼接即可
我试试你说的方法先
he_hawk 2013-11-20
  • 打赏
  • 举报
回复
引用 1 楼 dongxinxi 的回复:
你不是要转换成json吗,怎么用的又是xml? Json序列化会自动转换成那种格式

public static T FromJsonTo<T>(this string jsonString)
        {
            if (jsonString == null) return default(T);
            jsonString = jsonString.Trim();
            JavaScriptSerializer jsSer = new JavaScriptSerializer();
            return jsSer.Deserialize<T>(jsonString);
        }

        public static string ToJsonString(this object obj)
        {
            JavaScriptSerializer jsSer = new JavaScriptSerializer();            
            return jsSer.Serialize(obj);
        }
以为序列化一个值,然后可以去掉格式,但发现不行 JavaScriptSerializer在SliverLight中好像没有,在WEB项目中存在的吧?我找了好久没找到
wyufen 2013-11-20
  • 打赏
  • 举报
回复
拼接成json格式的字符串,传出去
  • 打赏
  • 举报
回复
引用System.Web.Extensions.dll 代码中 using System.Web.Script.Serialization;
bdmh 2013-11-20
  • 打赏
  • 举报
回复
json不是序列化出来的,你拼接成json格式的字符串,传出去 928120800000+0800 就是时间的毫秒以及时区,自己拼接即可
  • 打赏
  • 举报
回复
你不是要转换成json吗,怎么用的又是xml? Json序列化会自动转换成那种格式

public static T FromJsonTo<T>(this string jsonString)
        {
            if (jsonString == null) return default(T);
            jsonString = jsonString.Trim();
            JavaScriptSerializer jsSer = new JavaScriptSerializer();
            return jsSer.Deserialize<T>(jsonString);
        }

        public static string ToJsonString(this object obj)
        {
            JavaScriptSerializer jsSer = new JavaScriptSerializer();            
            return jsSer.Serialize(obj);
        }

110,571

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧