jsonDate类型数据处理
我们经常使⽤JSONArray array=JSONArray.fromObject()将对象集合 List转换成jsp所需的JSONArray形式
但是当处理到的 List 中包含 Date 类型的数据时,会出现错误。
此时,我们应该怎么解决这个问题。
JSON-lib is a java library for transforming beans, maps, collections, java arrays and XML to JSON and back again to beans and DynaBeans.
某些时候,我们需要对对象转为字符串的过程加以控制,最常见需求如数值格式化和⽇期格式化。
JSON lib提供了JsonConfig对象,该对象能够深刻影响Java对象转成json字符串的⾏为。
我们要控制JSON序列化过程中的Date对象的格式化,以及数值的格式化,JsonValueProcessor是最好的选择。
⾸先,我们应定义⼀个⽇期处理类:
SimpleDateFormat;
import net.sf.json.JsonConfig;
import net.sf.json.processors.JsonValueProcessor;
/**
* json-lib ⽇期处理类
* @author Administrator
*
*/
public class DateJsonValueProcessor implements JsonValueProcessor{
private String format;
public DateJsonValueProcessor(String format){
this.format = format;
}
public Object processArrayValue(Object value, JsonConfig jsonConfig) {
// TODO Auto-generated method stub
return null;
}
public Object processObjectValue(String key, Object value, JsonConfig jsonConfig) {
if(value == null)浏览器json格式化
{
return "";
}
if(value instanceof java.sql.Timestamp)
{
String str = new SimpleDateFormat(format).format((java.sql.Timestamp)value);
return str;
}
if (value instanceof java.util.Date)
{
String str = new SimpleDateFormat(format).format((java.util.Date) value);
return str;
}
String();
}
}
然后在Controller中重新注册json配置对象:
JsonConfig jsonConfig=new JsonConfig();
JSONArray array=JSONArray.fromObject(List,jsonConfig);
JSONObject jsonObjecg=JSONObject.from(Object,jsonConfig); 注意在转换的时候就要使⽤jsonConfig
这就是json处理date类型数据的⼀个解决⽅法
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论