Posts Tagged ‘Json’

MS格式的Date转换为Json格式的Date 2010/01/04 No Comments

      在开发B/S项目时,使用到Ajax已经是司空见惯了,一般我们都是用Json作为数据传输的格式。
      在 .Net 中,我们可能用 Web Service 或者 WCF 来进行Json数据传输,这样传输到客户端的 Date 格式为:”\/Date(1231231323+0800)\/” 的字符串,这和Json的 Date 格式不一样,这样就可能导致服务器端与客户端的数据传输出错。 那么,这时我们就需要处理一个问题“MS格式的Date转换为Json格式的Date” 或者“Json格式的Date转换为MS格式的Date”。
      在解决这个问题前,先要知道 “\/Date(1231231323+0800)\/” 这个字符串代表了什么?其实这个字符串中 1231231323 是当前距离 1970 年 1 月 1 日之间的毫秒数,+0800 这个数字代表了时区,上面这个 MS 格式的日期字符串代表的是“Thu Jan 15 14:00:32 UTC+0800 1970”。
      好了,接下来就稍微容易理解了。在Javascript 中 Date 对象有个 getTime() 的方法返回 1970 年 1 月 1 日至今的毫秒数。于是,我们在向 WCF 提交日期数据的时候是需要把 Date 转换为 MS 的格式的字符串:
var date =new Date();
var dateStr = "\/Date("+date.getTime()+"+0800)\/"
而从 WCF 返回的 Json [...]