日期:2014-05-20  浏览次数:20667 次

jackson如何想对象的集合保存出来
Node类:
public class Node {
private String nodeid;
private String port1;
private String port2;
private String port3;
private String port4;
public Node(String Value)
{
super();
}
public String getNodeid() {
return nodeid;
}
public void setNodeid(String nodeid) {
this.nodeid = nodeid;
}
public String getPort1() {
return port1;
}
public void setPort1(String port1) {
this.port1 = port1;
}
public String getPort2() {
return port2;
}
public void setPort2(String port2) {
this.port2 = port2;
}
public String getPort3() {
return port3;
}
public void setPort3(String port3) {
this.port3 = port3;
}
public String getPort4() {
return port4;
}
public void setPort4(String port4) {
this.port4 = port4;
}
}


main类:
	public static void main(String[] args) throws Exception {

    String str="[{\"nodeid\":\"9\",\"port1\":\"2\",\"port2\":\"3\",\"port3\":\"1\",\"port4\":\"4\"},{\"nodeid\":\"1\",\"port1\":\"2\",\"port2\":\"2\",\"port3\":\"4\",\"port4\":\"8\"}]";
ObjectMapper mapper=new ObjectMapper();
Node n=mapper.readValue(str, Node.class);
//System.out.println(response);
System.out.println(n);
        
}   


为什么我这里得到的Node是空的?
jackson

------解决方案--------------------
引用:
你这明明是集合了,改为  List<Node> n= mapper.readValue(serialValue, new TypeReference<List<Node>>(){});
List<Node> n= mapper.readValue(str, new TypeReference<List<Node>>(){});