Date类型数据转化json后,在jsp获取日期显示为[object Object]问题
2015-11-16 11:37
821 查看
后台从数据库里取的数据是Date日期类型的时候,如果把日期字段以json字符串形式返回前台界面,前台就会出现[object Object],而不是显示“2000-01-01”这种形式.
解决方法:
方法一:后台添加自定义的日期格式转化类
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Locale;
import net.sf.json.JsonConfig;
import net.sf.json.processors.JsonValueProcessor;
public class JsonDateValueProcessor implements JsonValueProcessor {
private String format = "yyyy-MM-dd";
public Object processArrayValue(Object value, JsonConfig config) {
return process(value);
}
public Object processObjectValue(String key, Object value, JsonConfig config) {
return process(value);
}
private Object process(Object value) {
if (value instanceof Date) {
SimpleDateFormat sdf = new SimpleDateFormat(format, Locale.UK);
return sdf.format(value);
}
return value == null ? "" : value.toString();
}
}
然后在list转化为json时,进行相应的处理:(这里是将classList转化为JSON串)
JsonConfig config = new JsonConfig();
config.setIgnoreDefaultExcludes(false);
config.registerJsonValueProcessor(java.util.Date.class,new JsonDateValueProcessor());
JSONArray jsonArray = JSONArray.fromObject(classList, config);
String classJson = jsonArray.toString();
方法二:在js中进行格式转换
//转化json格式的日期为yyyy-mm-dd hh:mm
function toDate(v,r,i) {
var date = new Date();
date.setTime(v.time);
var y = date.getFullYear();
var m = date.getMonth()+1;
m = m<10?'0'+m:m;
var d = date.getDate();
d = d<10?("0"+d):d;
var h = date.getHours();
h = h<10?("0"+h):h;
var M = date.getMinutes();
M = M<10?("0"+M):M;
var str = y+"-"+m+"-"+d+" "+h+":"+M;
return str;
}
这样在jsp页面中获取json对象的日期时间,就可以得到“2000-01-01”这种形式了!
解决方法:
方法一:后台添加自定义的日期格式转化类
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Locale;
import net.sf.json.JsonConfig;
import net.sf.json.processors.JsonValueProcessor;
public class JsonDateValueProcessor implements JsonValueProcessor {
private String format = "yyyy-MM-dd";
public Object processArrayValue(Object value, JsonConfig config) {
return process(value);
}
public Object processObjectValue(String key, Object value, JsonConfig config) {
return process(value);
}
private Object process(Object value) {
if (value instanceof Date) {
SimpleDateFormat sdf = new SimpleDateFormat(format, Locale.UK);
return sdf.format(value);
}
return value == null ? "" : value.toString();
}
}
然后在list转化为json时,进行相应的处理:(这里是将classList转化为JSON串)
JsonConfig config = new JsonConfig();
config.setIgnoreDefaultExcludes(false);
config.registerJsonValueProcessor(java.util.Date.class,new JsonDateValueProcessor());
JSONArray jsonArray = JSONArray.fromObject(classList, config);
String classJson = jsonArray.toString();
方法二:在js中进行格式转换
//转化json格式的日期为yyyy-mm-dd hh:mm
function toDate(v,r,i) {
var date = new Date();
date.setTime(v.time);
var y = date.getFullYear();
var m = date.getMonth()+1;
m = m<10?'0'+m:m;
var d = date.getDate();
d = d<10?("0"+d):d;
var h = date.getHours();
h = h<10?("0"+h):h;
var M = date.getMinutes();
M = M<10?("0"+M):M;
var str = y+"-"+m+"-"+d+" "+h+":"+M;
return str;
}
这样在jsp页面中获取json对象的日期时间,就可以得到“2000-01-01”这种形式了!
相关文章推荐
- Customize Spring @RequestParam Deserialization for Maps and/or Nested Objects
- Customize Spring @RequestParam Deserialization for Maps and/or Nested Objects
- Customize Spring @RequestParam Deserialization for Maps and/or Nested Objects
- Customize Spring @RequestParam Deserialization for Maps and/or Nested Objects
- 第四章Object-C判断语句
- object-C方法调配
- Objective-C 程序设计 第十四章
- Objective-C 程序设计 第十三章
- Object类简介
- Objectiv-C学习笔记-如何关闭XCode ARC机制
- Using C++ With Objective-C
- iOS开发系列—Objective-C之Foundation框架
- Objective-c 手写控件
- Object-C 语法总结
- Objective-c(1)
- Objective-C中的instancetype和id区别
- 属性动画ObjectAnimator
- Objective-C:Foundation
- Objective-C:Foundation
- 思考中前进----泛型和Object比较