示例代码
package com.javaear.json4bean;
import com.javaear.test.Student;
import java.io.File;
public class Json4BeanTest {
/* 测试json 数据 */
static String data = "[{\n" +
" \"id\": 123,\n" +
" \"name\": \"张三\",\n" +
" \"firend\": {\n" +
" \"fid\": \"f123\",\n" +
" \"fname\": \"李四\"\n" +
" },\n" +
" \"subjects\": [\n" +
" {\n" +
" \"sid\": \"o123\",\n" +
" \"sname\": \"王五\"\n" +
" },\n" +
" {\n" +
" \"sid\": \"o124\",\n" +
" \"sname\": \"马六\"\n" +
" }\n" +
" ]\n" +
"}]";
public static void main(String[] args) {
//JSON.setWriteMultiBean(true); //去掉此注释,生成javabean为多个对象,非内部类形式
//默认生成内部类JavaBean,可以通过去掉上边一行注释选择非内部类形式
writeBeanSimpleTest();
writeBeanWithPackageNameTest();
writeBeanWithPackageNameAndCodeTemplateTest();
parseObjectTest();
toJsonStringTest();
}
/**
* 极简生成测试
*/
public static void writeBeanSimpleTest(){
JSON.writeBean(data, "Student");
}
/**
* 附带pageckName生成测试
*/
public static void writeBeanWithPackageNameTest(){
JSON.writeBean(data, "Student", "com.javaear.test");
}
/**
* 附带pageckName、注释模板、生成测试
*/
public static void writeBeanWithPackageNameAndCodeTemplateTest(){
JSON.setCodeTemplate(System.getProperty("user.dir") + File.separator + "json4bean/src/test/resources/code-template.txt");
JSON.writeBean(data, "Student", "com.javaear.test", System.getProperty("user.dir") + File.separator + "json4bean/src/test/java/" + "com/javaear/test");
}
/**
* 解析json字符串为bean测试
*/
public static void parseObjectTest(){
Student student = JSON.parseObject(data, Student.class);
System.out.println(
"id为:"+student.getId()+
"name为:"+student.getName()+
"firend name为:"+student.getFirend().getFname()+
"subject 2 sname为:"+student.getSubjects().get(1).getSname());
}
/**
* 解析bean为Json测试
*/
public static void toJsonStringTest(){
//调用parse方法赋值的对象
Student student = JSON.parseObject(data, Student.class);
//解析bean为字符串
String str = JSON.toJsonString(student);
System.out.println(str);
}
}
生成效果
/*
* Copyright 2016-2016 Javaear Group Holding Ltd.
*/
package com.javaear.test;
import java.util.List;
/**
* @author aooer
*/
public class Student {
private Long id;
private String name;
private Firend firend;
private List subjects;
public static class Firend {
private String fid;
private String fname;
/**
* @return fid
*/
public String getFid() {
return this.fid;
}
/**
* @param fid fid
*/
public void setFid(String fid) {
this.fid = fid;
}
/**
* @return fname
*/
public String getFname() {
return this.fname;
}
/**
* @param fname fname
*/
public void setFname(String fname) {
this.fname = fname;
}
}
public static class Subjects {
private String sid;
private String sname;
/**
* @return sid
*/
public String getSid() {
return this.sid;
}
/**
* @param sid sid
*/
public void setSid(String sid) {
this.sid = sid;
}
/**
* @return sname
*/
public String getSname() {
return this.sname;
}
/**
* @param sname sname
*/
public void setSname(String sname) {
this.sname = sname;
}
}
/**
* @return id
*/
public Long getId() {
return this.id;
}
/**
* @param id id
*/
public void setId(Long id) {
this.id = id;
}
/**
* @return name
*/
public String getName() {
return this.name;
}
/**
* @param name name
*/
public void setName(String name) {
this.name = name;
}
/**
* @return firend
*/
public Firend getFirend() {
return this.firend;
}
/**
* @param firend firend
*/
public void setFirend(Firend firend) {
this.firend = firend;
}
/**
* @return subjects
*/
public List getSubjects() {
return this.subjects;
}
/**
* @param subjects subjects
*/
public void setSubjects(List subjects) {
this.subjects = subjects;
}
}