1. 程式人生 > >net.sf.json.JSONObject轉為Bean時,Boolean型別轉換問題,待解決

net.sf.json.JSONObject轉為Bean時,Boolean型別轉換問題,待解決

java bean如下:

import java.util.Date;

public class CmFinancingProductRatePeriod {

    private Long id;

    private Long productId;

    private String financeType;

    private Date startDate;

    private Date endDate;

    private Date interestDate;

    private Integer interestDays;

    private Boolean isAnnual;

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public Long getProductId() {
        return productId;
    }

    public void setProductId(Long productId) {
        this.productId = productId;
    }

    public String getFinanceType() {
        return financeType;
    }

    public void setFinanceType(String financeType) {
        this.financeType = financeType;
    }

    public Date getStartDate() {
        return startDate;
    }

    public void setStartDate(Date startDate) {
        this.startDate = startDate;
    }

    public Date getEndDate() {
        return endDate;
    }

    public void setEndDate(Date endDate) {
        this.endDate = endDate;
    }

    public Date getInterestDate() {
        return interestDate;
    }

    public void setInterestDate(Date interestDate) {
        this.interestDate = interestDate;
    }

    public Integer getInterestDays() {
        return interestDays;
    }

    public void setInterestDays(Integer interestDays) {
        this.interestDays = interestDays;
    }

    public Boolean getIsAnnual() {
        return isAnnual;
    }

    public void setIsAnnual(Boolean isAnnual) {
        this.isAnnual = isAnnual;
    }
}

json字串如下:

rateCycle = [{edit:true,startDate:2018-05-01,endDate:2018-05-11,interestDate:2018-05-12,interestDays:11,isAnnual:1},
{edit:true,startDate:2018-05-12,endDate:2018-05-18,interestDate:2018-05-19,interestDays:7,isAnnual:0},
{edit:true,startDate:2018-05-19,endDate:2018-05-25,interestDate:2018-05-26,interestDays:7,isAnnual:1},
{edit:true,startDate:2018-05-26,endDate:2018-05-31,interestDate:2018-06-01,interestDays:6,isAnnual:0}]

轉換程式碼如下:

import net.sf.json.JSONArray;

JSONArray arr = JSONArray.fromObject(rateCycle);
 @SuppressWarnings({ "deprecation", "unchecked" })
List<CmFinancingProductRatePeriod> ratePeriodList = 
JSONArray.toList(arr, CmFinancingProductRatePeriod.class);

結果如下:


問題:

欄位isAnnual為0或者1時,轉化後均為false