【发布时间】:2015-07-24 13:21:13
【问题描述】:
我有一个jsonstring如下
{"coaList":[{"iD":324,"strName":"Cash","hasChildren":false,"amount":3500.0,"transDate":1421346600000},{"iD":326,"strName":"Cash","hasChildren":false,"amount":2000.0,"transDate":1421346600000},{"iD":328,"strName":"HDFC Bank","hasChildren":false,"amount":2500.0,"transDate":1421346600000}]}
我需要将此字符串转换为 CoaAccountList 类对象。下面是 CoaAccountList 类。 CoaAccountList.java:
public class CoaAccountList implements Serializable {
private List<COAAccount> coaList;
public List<COAAccount> getCoaList() {
return coaList;
}
public void setCoaList(List<COAAccount> coaList) {
this.coaList = coaList;
}
}
其中 COAAccount 类包含 transDate 作为 TimeStamp 变量,在 json 字符串中作为 Long 变量,所以我的转换过程导致这个长 transDate 值的 com.google.gson.JsonSyntaxException。下面是我用来转换 json 字符串的代码到 CoaAccountList
Gson gson = new Gson();
CoaAccountList transHisList=gson.fromJson(jsonString, CoaAccountList.class);
下面是 COAAccount 类。
COAAccount.java:
public class COAAccount implements Serializable {
private int iD;
private String strName;
private boolean hasChildren;
private float amount;
private Timestamp transDate;
public COAAccount() {
super();
// TODO Auto-generated constructor stub
}
public COAAccount(int iD, String strName, boolean hasChildren, float amount, Timestamp transDate) {
super();
this.iD = iD;
this.strName = strName;
this.hasChildren = hasChildren;
this.amount = amount;
this.transDate = transDate;
}
public int getiD() {
return iD;
}
public void setiD(int iD) {
this.iD = iD;
}
public String getStrName() {
return strName;
}
public void setStrName(String strName) {
this.strName = strName;
}
public boolean isHasChildren() {
return hasChildren;
}
public void setHasChildren(boolean hasChildren) {
this.hasChildren = hasChildren;
}
public float getAmount() {
return amount;
}
public void setAmount(float amount) {
this.amount = amount;
}
public Timestamp getTransDate() {
return transDate;
}
public void setTransDate(Timestamp transDate) {
this.transDate = transDate;
}
@Override
public String toString() {
return strName;
}
}
请帮我将此 json 字符串转换为 CoaAccountList 对象。
【问题讨论】:
-
尝试通过 setTransDate(long) 方法/接受 long 作为 transDate 的构造函数“手动”转换它?