我正在使用Jackson将以下Json列表映射到Java对象列表。
以下是清单。
String UserListString="[{\"UID\":1,\"Username\":\"111\",\"ID\":\"rey\",\"Name\":\"User01\",\"Date\":\"12-10-2016 10:07\",\"ItemList\":[{\"Item\":9,\"Code\":\"dggd\"}]},{\"UID\":2,\"Username\":\"222\",\"ID\":\"dsse\",\"Name\":\"User02\",\"Date\":\"13-10-2016 02:08\",\"ItemList\":[{\"Item\":4,\"Code\":\"res\"}]},{\"UID\":3,\"Username\":\"333\",\"ID\":\"wee\",\"Name\":\"User03\",\"Date\":\"13-10-2016 02:09\",\"ItemList\":[{\"Item\":1,\"Code\":\"ret\"}]";
我通过以下解析:
ObjectMapper objectMapper = new ObjectMapper();
ArrayList<Users> list =new ArrayList<Users> ();
list = objectMapper.readValue(UserListString,TypeFactory.defaultInstance().constructCollectionType((Class<? extends Collection>) List.class, Users.class));
我的用户类如下:
public class Users {
@JsonProperty("UID")
private String UID;
@JsonProperty("Username")
private String Username;
@JsonProperty("ID")
private String ID;
@JsonProperty("Name")
private String Name;
@JsonProperty("Date")
private String Date;
@JsonProperty("ItemList")
private ArrayList<Item>ItemList;
..///getters and setters
}
我的项目类
public class Item {
private String Item;
private String Code;
public String getItem() {
return Item;
}
public void setItem(String item) {
Item = item;
}
public String getCode() {
return Code;
}
public void setCode(String code) {
Code = code;
}
}
我收到的错误就像
java.lang.IllegalArgumentException: Can not create TypeBindings for class java.awt.List with 1 type parameter: class expects 0
感谢任何帮助。
答案 0 :(得分:2)
至少,您需要更改此导入:
import java.awt.List;
...至
import java.util.List;
您当前拥有的那个与Abstract Window Toolkit相关,而不是Java集合接口。