专栏首页菩提树下的杨过DateTime在ExtJs中无法正确序列化的问题

DateTime在ExtJs中无法正确序列化的问题

这几天在学习ExtJs + Wcf的过程中,发现一个问题,如果Class中有成员的类型为DateTime,即使我们正常标识了[DataMember],序列化成JSON时,会生成一种特有的格式:

..."AddTime":"\/Date(1213718400000+0800)\/"}...

这种格式ExtJs并不识别,导致最终的组件,比如Grid上无法正常显示,解决办法有二个:

1.将Class的成员,手动改成String类型,不过个人不推荐这种方式,毕竟将数据类型都改了,相应的服务端很多地方都可能会做相关修改

2.用JS在前台调用时,用代码处理返回的JSON字符串格式,使之符合ExtJs的规范(这个方法是从博客园"小庄"那里学来的,呵)

Ext.onReady(function() {
 //这个函数演示了怎样把服务器端的DateTime类型转为Javascript的日期
         function setAddTime(value, p, record) {
             var jsondate = record.data.F_AddTime;
             return eval("new " + jsondate.substr(1, jsondate.length - 2)).toLocaleDateString();
         }
 ...

设置Grid的Columns时,类似如下处理:

 var grid = new Ext.grid.GridPanel({
             store: store,
             columns: [
                 ...
 
                 { header: "添加时间", width: 140, sortable: true,renderer: setAddTime,dataIndex: 'F_AddTime' }
             ],
 

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • spring-boot 速成(1) helloworld

    一、mac上安装 $ brew tap pivotal/tap $ brew install springboot 安装成功后,可在终端查看命令行 ➜  ~ s...

    菩提树下的杨过
  • spring-boot 速成(1) helloworld

    一、mac上安装 $ brew tap pivotal/tap $ brew install springboot 安装成功后,可在终端查看命令行 ➜  ~ s...

    菩提树下的杨过
  • Silverlgiht:快速去除/恢复对象的颜色

    某些场景下,想将一个对象快速隐藏、恢复,而且不影响布局。有一种方法:将对象的透明度在1与0之间切换。 问:为什么不用Visibility? 答:这通常会导致重...

    菩提树下的杨过
  • 大道至简—GO语言最佳实践

    被称为GO语言之父的Rob Pike说,你是否同意GO语言,取决于你是认可少就是多,还是少就是少。

    腾讯技术工程官方号
  • 基于JStorm开发一个实时计算平台

    实时流式计算,也就是RealTime,Streaming,Analyse,在不同的领域有不同的定义,那么,到底什么是实时流式计算呢?谷歌大神Tyler Akid...

    用户7533190
  • 收集的网络上大型的开源图像处理软件代码(提供下载链接)

    要写好一个图像处理软件,仅靠自己看书是完全不够的,要多方面学习,借鉴前人的经验,要集思广益、多面出击。如今网络发达,图像学的资料其实也到处都是。只是...

    用户1138785
  • equals和hashCode你学会了么?

    作为在Object中的equals方法和hashCode方法,或多或少我们在子类中都有重写过这两个方法,那么我们在重写这两个方法时需要注意些什么?就让我们通过这...

    shysh95
  • 在校生,简历中如何写项目经历?

    他这个很好回答,也很不好回答。好回答是指,项目经历嘛,你怎么做的你就怎么写。不好回答是又分二方面,一是根本没有项目经历,自然没得写;二是有项目经历,但确实是不知...

    web前端教室
  • 记一次对简单的渗透测试

    目录遍历这个漏洞,说大也不大,说小也不小,但是,一般来说,存在这种目录,可以证明网站管理员比较粗心,当然也有可能会把一些敏感文件放在上面,如数据库文件,账号文件...

    HACK学习
  • 弄懂这56个Python使用技巧,秒变Python大神!

    你也许知道如何进行列表解析,但是可能不知道字典/集合解析。它们简单易用且高效。就像下面这个例子:

    一墨编程学习

扫码关注云+社区

领取腾讯云代金券