package com.ylchou.testfastjson;
public class User {
private Long id;
private String name;
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
package com.ylchou.testfastjson;
import java.util.ArrayList;
import java.util.List;
public class Group {
private Long id;
private String name;
private List<User> users = new ArrayList<User>();
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public List<User> getUsers() {
return users;
}
public void setUsers(List<User> users) {
this.users = users;
}
}
package com.ylchou.testfastjson;
import com.alibaba.fastjson.JSON;
public class TestFastJSON3 {
public static void main(String[] args) {
Group group = new Group();
User users = new User();
User users2 = new User();
User users3 = new User();
users.setId(1L);
users.setName("ylchou");
users2.setId(2L);
users2.setName("chousoul");
users3.setId(3L);
users3.setName("shayue");
group.setId(7L);
group.setName("gongsi");
group.getUsers().add(users);//注意
group.getUsers().add(users2);//注意
group.getUsers().add(users3);
// group.getUsers().add(users3);//重复不会得到想要的
String groupJsonString = JSON.toJSONString(group);
System.out.println("encode:"+groupJsonString);
Group classGroup = JSON.parseObject(groupJsonString, Group.class);
System.out.println("discode:"+classGroup);
Object classGroup2 = JSON.parseObject(groupJsonString, Group.class);
System.out.println("discode:"+classGroup2);
//得到的仍然是JSON,所有parseObject中参数要为转化后的类.class,不能为Object.class。
Object classGroup3 = JSON.parseObject(groupJsonString, Object.class);
System.out.println("discode:"+classGroup3);
}
控制台打印:
encode:{"id":7,"name":"gongsi","users":[{"id":1,"name":"ylchou"},{"id":2,"name":"chousoul"}]}
discode:com.ylchou.testfastjson.Group@182f0db
discode:com.ylchou.testfastjson.Group@192d342
discode:{"id":7,"name":"gongsi","users":[{"id":1,"name":"ylchou"},{"id":2,"name":"chousoul"}]}
encode:{"id":7,"name":"gongsi","users":[{"id":1,"name":"ylchou"},{"id":2,"name":"chousoul"},{"id":3,"name":"shayue"},{"$ref":"$.users[2]"}]}
discode:com.ylchou.testfastjson.Group@5224ee
discode:com.ylchou.testfastjson.Group@f6a746
discode:{"id":7,"name":"gongsi","users":[{"id":1,"name":"ylchou"},{"id":2,"name":"chousoul"},{"id":3,"name":"shayue"},null]}