需求
分析(Json字符串)
{
"credit": {
"applyCreditFiles": [
{
"name": "",
"remark": "",
"type": 0,
"choose": true
}
],
"preApplyCreditFiles": true,
"coreCreditConfirm": true
},
"financing": {
"applyFinancingFiles": [
{
"name": "",
"remark": "",
"type": 0,
"choose": true
}
],
"orderData": true,
"coreFinancingConfirm": true,
"auditing": true
},
"release": {
"releaseConfirm": true
}
}
代码实现
import java.io.Serializable;
import java.util.List;
import com.alibaba.fastjson.JSON;
import lombok.AccessLevel;
import lombok.Data;
import lombok.experimental.FieldDefaults;
@FieldDefaults(level = AccessLevel.PRIVATE)
public class ConfigurationVo implements Serializable {
private static final long serialVersionUID = -8611092607492314878L;
Credit credit;
Financing financing;
Release release;
public ConfigurationVo() {
this.credit = new Credit();
this.financing = new Financing();
this.release = new Release();
}
class Credit implements Serializable {
private static final long serialVersionUID = -2612330064614318436L;
List<ApplyFile> applyCreditFiles;
boolean preApplyCreditFiles;
boolean coreCreditConfirm;
}
class Financing implements Serializable {
private static final long serialVersionUID = -311724475587721308L;
List<ApplyFile> applyFinancingFiles;
boolean orderData;
boolean coreFinancingConfirm;
boolean auditing;
}
class Release implements Serializable {
private static final long serialVersionUID = 8121941855978815871L;
boolean releaseConfirm;
}
@Data
public static class ApplyFile implements Serializable {
private static final long serialVersionUID = -8468198509494053672L;
String name;
String remark;
Integer type;
boolean choose;
}
public String toString() {
return JSON.toJSONString(this);
}
public List<ApplyFile> getApplyCreditFiles() {
return credit.applyCreditFiles;
}
public void setApplyCreditFiles(List<ApplyFile> list) {
this.credit.applyCreditFiles = list;
}
public boolean getPreApplyCreditFiles() {
return credit.preApplyCreditFiles;
}
public void setPreApplyCreditFiles(boolean b) {
this.credit.preApplyCreditFiles = b;
}
public boolean getCoreCreditConfirm() {
return credit.coreCreditConfirm;
}
public void setCoreCreditConfirm(boolean b) {
this.credit.coreCreditConfirm = b;
}
public List<ApplyFile> getApplyFinancingFiles() {
return financing.applyFinancingFiles;
}
public void setApplyFinancingFiles(List<ApplyFile> list) {
this.financing.applyFinancingFiles = list;
}
public boolean getOrderData() {
return financing.orderData;
}
public void setOrderData(boolean b) {
this.financing.orderData = b;
}
public boolean getCoreFinancingConfirm() {
return financing.coreFinancingConfirm;
}
public void setCoreFinancingConfirm(boolean b) {
this.financing.coreFinancingConfirm = b;
}
public boolean getAuditing() {
return financing.auditing;
}
public void setAuditing(boolean b) {
this.financing.auditing = b;
}
public boolean getReleaseConfirm() {
return release.releaseConfirm;
}
public void setReleaseConfirm(boolean b) {
this.release.releaseConfirm = b;
}
}
此处用到lombok, @Data和@FieldDefaults均为其注解。