0
我無法獲取發送給pojo的json字符串。將jsonnode轉換爲pojo
com.fasterxml.jackson.databind.JsonMappingException:無法反序列化com.sg.info.Account的情況下進行的[來源START_ARRAY令牌 的:[email protected];行:1,柱:1]
這是JSON
[{"accno":9210255,"type":"Stock- and mutual funds account","default":true,"alias":"Karlsson Joachim"}]
解析
public void getAccounts()
{
ObjectMapper mapper = new ObjectMapper();
String resp = Login.getBaseResource().path("accounts").request(Login.getResponsetype()).get(String.class);
try {
account = mapper.readValue(resp, Account.class);
POJO
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonProperty;
@JsonInclude(JsonInclude.Include.NON_NULL)
@JsonIgnoreProperties(ignoreUnknown=true)
public class Account {
public Account() {
}
private long accno;
private String type;
@JsonProperty("default")
private String isDefault;
private String alias;
public long getAccno() {
return accno;
}
public void setAccno(long accno) {
this.accno = accno;
}
public String getType() {
return type;
}
public void setType(String type) {
this.type = type;
}
public String getAlias() {
return alias;
}
public void setAlias(String alias) {
this.alias = alias;
}
@Override
public String toString() {
return "Account [accno=" + accno + ", type=" + type + ", alias="
+ alias + "]";
}
public String isDefault() {
return isDefault;
}
@JsonProperty("default")
public void setDefault(String isDefault) {
this.isDefault = isDefault;
}
}
這是有效的,但是對於數組類型,也有一個不太出名的漂亮短小貓:只需將'Account [] .class'作爲類型即可! – StaxMan
這確實有用。但我希望他會用這種方法來創建集合,而不是...恕我直言,總是更好地使用數組集合 –
數組和集合有它們自己的好處,我沒有看到集合本質上更好,尤其是對於簡單數據訪問對象。 – StaxMan