Date时间类型用json转化后显示[Object,Object]

来源:互联网 发布:益盟自动画线 源码 编辑:程序博客网 时间:2024/05/16 05:56

我的Java代码里,对象属性的格式为Timestamp,使用Json数据传到Extjs的Grid时,显示

[object Object],后来上网找解决办法,大部份都是同一篇文章,但不能完全解决我的问题 郁闷 。先看看转载:

http://hi.baidu.com/levin_china/blog/item/2a27cf0febe07aeaab6457cf.html

java里面时间类型转换成json数据就成这样啦
"createTime":{"date":30,"day":3,"hours":15,"minutes":14,"month":3,"nanos":0,"seconds"
:38,"time":1209539678000,"timezoneOffset":-480,"year":108}
在gridpanel里面就会显示成[object,object]
在store里面这样写
{
name : 'createTime',
type : 'date',
mapping : 'createTime.time',
dateFormat : 'time'
}
在ColumnModel里面这样写
{
header : "创建时间",
sortable : true,
dataIndex : 'createTime',
renderer : Ext.util.Format.dateRenderer('Y-m-d H:i:s')
}
就会显示成你想要的格式不用在后台处理成字符串啦。

跟据上面提示做,但显示出来的是NanNanNan,即是空值,后来我去除store里的“type : 'date'dateFormat : 'time'”,并且修改ColumnModel里的renderer:

renderer: 
     function(v) {
          var JsonDateValue;
          if (Ext.isEmpty(v))
              return ' ';
          else if (Ext.isEmpty(v.time))
              JsonDateValue = new Date(v);
          else
              JsonDateValue = new Date(v.time);
          return JsonDateValue.format('Y-m-d H:i:s');
  }


这样就成功显示了,不过还没有找到原因...