大家好,又见面了,我是你们的朋友全栈君。
直接上代码
import net.sf.json.JSONArray;
import net.sf.json.JsonConfig;
import net.sf.json.processors.JsonValueProcessor;
import java.math.BigDecimal;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
public class JSONDemo01 {
public static void main(String[] args) {
List<ZuLinVo> list = new ArrayList<>();
ZuLinVo zuLinVo = new ZuLinVo("test","330100",new BigDecimal("142.24"),new Date(),new Date());
list.add(zuLinVo);
ZuLinVo zuLinVo1 = new ZuLinVo("test","330100",new BigDecimal("142.24"),new Date(),null);
list.add(zuLinVo1);
JsonConfig config = new JsonConfig();
config.registerJsonValueProcessor(Date.class, new JsonValueProcessor() {
//自定义日期格式
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
@Override
//处理单个Date对象
public Object processObjectValue(String propertyName, Object date,JsonConfig config) {
if(date!=null){
return simpleDateFormat.format(date);
}else{
return null;
}
}
@Override
//处理数组中的Date对象
public Object processArrayValue(Object date, JsonConfig config) {
if(date!=null){
return simpleDateFormat.format(date);
}else{
return null;
}
}
});
JSONArray array = JSONArray.fromObject(list,config);
System.out.println(array.toString());
}
}
创建实体类
import java.math.BigDecimal;
import java.util.Date;
public class ZuLinVo {
private String fwzl;//房屋坐落
private String sscq;//所属城区
private BigDecimal mj;//面积
private Date zlksrq;//租赁开始日期
private Date zljsrq;//租赁结束日期
public String getFwzl() {
return fwzl;
}
public void setFwzl(String fwzl) {
this.fwzl = fwzl;
}
public String getSscq() {
return sscq;
}
public void setSscq(String sscq) {
this.sscq = sscq;
}
public BigDecimal getMj() {
return mj;
}
public void setMj(BigDecimal mj) {
this.mj = mj;
}
public Date getZlksrq() {
return zlksrq;
}
public void setZlksrq(Date zlksrq) {
this.zlksrq = zlksrq;
}
public Date getZljsrq() {
return zljsrq;
}
public void setZljsrq(Date zljsrq) {
this.zljsrq = zljsrq;
}
public ZuLinVo(String fwzl, String sscq, BigDecimal mj, Date zlksrq, Date zljsrq) {
this.fwzl = fwzl;
this.sscq = sscq;
this.mj = mj;
this.zlksrq = zlksrq;
this.zljsrq = zljsrq;
}
}
代码执行控制台数据:实体类中的字段类型为date时进行处理,为空直接返回null,有值进行格式处理
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/149446.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...