依赖包jsontools-core-1.6.jar,antlrworks-1.4.3.jar
实现代码:
Student类
public class Student {
private Integer id;
private String name;
private String sex;
private Integer age;
private String[] hobby;
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
public Integer getAge() {
return age;
}
public void setAge(Integer age) {
this.age = age;
}
public String[] getHobby() {
return hobby;
}
public void setHobby(String[] hobby) {
this.hobby = hobby;
}
}
Schoolmaster类
public class Schoolmaster {
private String name;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
School类
import java.util.Date;
import java.util.List;
public class School {
private String name;
private List<Student> list;
private Date createDate;
private Schoolmaster schoolmaster;
public List<Student> getList() {
return list;
}
public void setList(List<Student> list) {
this.list = list;
}
public Date getCreateDate() {
return createDate;
}
public void setCreateDate(Date createDate) {
this.createDate = createDate;
}
public Schoolmaster getSchoolmaster() {
return schoolmaster;
}
public void setSchoolmaster(Schoolmaster schoolmaster) {
this.schoolmaster = schoolmaster;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
测试代码
import java.io.StringReader;
import java.util.ArrayList;
import java.util.Date;
import java.util.Iterator;
import java.util.List;
import antlr.RecognitionException;
import antlr.TokenStreamException;
import com.sdicons.json.mapper.JSONMapper;
import com.sdicons.json.mapper.MapperException;
import com.sdicons.json.model.JSONValue;
import com.sdicons.json.parser.JSONParser;
public class MainClass1 {
@SuppressWarnings("rawtypes")
public static void main(String[] args) throws TokenStreamException, RecognitionException {
List<Student> list = new ArrayList<Student>();
Student stu1 = new Student();
stu1.setName("学生甲");
Student stu2 = new Student();
stu2.setName("学生乙");
list.add(stu1);
list.add(stu2);
Schoolmaster schoolmaster = new Schoolmaster();
schoolmaster.setName("校长甲");
School school = new School();
school.setCreateDate(new Date());
school.setList(list);
school.setName("清华大学");
school.setSchoolmaster(schoolmaster);
try {
//JAVA对象转换成JSON值
JSONValue jsonValue = JSONMapper.toJSON(school);
String jsonStr = jsonValue.render(true); // 是否格式化
System.out.println(jsonStr);
//JSON值转换成JAVA对象
JSONParser parser1 = new JSONParser(new StringReader(jsonStr));
JSONValue jsonValue1 = parser1.nextValue();
School sch = (School) JSONMapper.toJava(jsonValue1, School.class);
System.out.println(sch.getName());
System.out.println(sch.getCreateDate());
System.out.println(sch.getSchoolmaster().getName());
List<Student> stuList = sch.getList();
Iterator iter = stuList.iterator();
while(iter.hasNext()){
Student stu = (Student) iter.next();
System.out.println(stu.getName());
}
} catch (MapperException e) {
e.printStackTrace();
}
}
}