package com.nstc.fbth.model;
import java.text.SimpleDateFormat;
import java.util.Date;
import com.nstc.fbth.util.DateUtil;
import net.sf.json.JsonConfig;
import net.sf.json.processors.JsonValueProcessor;
public class DateJsonValueProcessor implements JsonValueProcessor {
private String format = "yyyy-MM-dd HH:mm:ss";
public DateJsonValueProcessor() {
}
public DateJsonValueProcessor(String format) {
this.format = format;
}
public Object processArrayValue(Object value, JsonConfig jsonConfig) {
String[] obj = {};
if (value instanceof Date[]) {
//SimpleDateFormat sf = new SimpleDateFormat(format);
Date[] dates = (Date[]) value;
obj = new String[dates.length];
for (int i = 0; i < dates.length; i++) {
//obj[i] = sf.format(dates[i]);
obj[i] = DateUtil.fmtDateToStr(dates[i],format);
}
}
return obj;
}
public Object processObjectValue(String key, Object value, JsonConfig jsonConfig) {
if (value instanceof Date) {
// String str = new SimpleDateFormat(format).format((Date) value);
String str = DateUtil.fmtDateToStr((Date) value,format);
return str;
}
return value == null ? null : value.toString();
}
public String getFormat() {
return format;
}
public void setFormat(String format) {
this.format = format;
}
}
分享到:
相关推荐
`DateJsonValueProcessor`类实现了`JsonValueProcessor`接口,该接口有两个方法需要实现:`processArrayValue`和`processObjectValue`。这两个方法分别用于处理数组和单个对象。 1. **构造函数**:`...
结合以上信息,我们可以推测博主可能介绍了如何利用Json-lib库和自定义的辅助类(如JsonUtil和DateJsonValueProcessor)在服务器端处理JSON数据,并直接输出到页面,而无需额外的前端转换。这在快速开发或调试时特别...
此外,对于日期等特殊类型,可能需要自定义`JsonValueProcessor`来处理,如`DateJsonValueProcessor`,这样可以确保JSON序列化和反序列化时日期格式的一致性。 总之,Java中的JSON处理涉及到多个步骤,包括解析JSON...
- `DateJsonValueProcessor`:这是自定义的JSON值处理器,用于处理JSON中的日期对象。在JSON序列化和反序列化过程中,日期通常需要特殊处理,因为JSON本身并不直接支持日期类型。`DateUtil`可能是一个自定义的日期...
此外,还引入了`DateUtil`和`DateJsonValueProcessor`等自定义工具类或处理器,用于处理日期相关的JSON字段。 #### 方法详解 1. **从JSON字符串转换为Java对象** ```java public static Object getObject4Json...
为了将`Date`对象正确地序列化和反序列化,需要自定义`JsonValueProcessor`,如`DateJsonValueProcessor`,这个类可以定义日期的转换规则。 5. **遍历JSON对象**:`JSONObject`提供了一个`keys()`方法,返回一个...
`DateJsonValueProcessor.java`可能是实现JSON日期处理的一个类,`JsonValueProcessor`是`json-lib`中的接口,用于自定义特定类型的数据(如日期)在序列化和反序列化过程中的行为。你可以实现这个接口来控制日期...
- **日期处理:**`JsonUtil`类集成了自定义的日期处理器`DateJsonValueProcessor`,以确保日期类型的正确转换。 - **依赖管理:**该类依赖于`net.sf.json`库,这是一个轻量级的JSON处理库。 #### 五、总结 通过上述...
new DateJsonValueProcessor("yyyy-MM-dd")); String name = getRequest().getParameter("keyword"); if (name == null) name = ""; // LocationPo换成您的PO String sql = "from LocationPo l where l.name ...
解决办法 1.设置JSON-LIB让其过滤掉引起循环的字段。 Java代码 代码如下: JsonConfig config... config.registerJsonValueProcessor(Date.class,new DateJsonValueProcessor(“yyyy-MM-dd”)); //date processor regist