json toBean使用

它有点类似于BeanUtils的copyProperties方法
具体的看代码,一下就明白了!
首先一个javabean对象
public class Student {

    private int id ;
    private String name;
    private int age;
   
    public int getId() {
        return id;
    }
    public void setId(int id) {
        this.id = id;
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public int getAge() {
        return age;
    }
    public void setAge(int age) {
        this.age = age;
    }
   
    public String toString(){
        return this.id + ", " + this.name + ", " + this.age;
    }
}

然后测试toBean方法的类
import net.sf.json.JSONObject;

public class ToBeanTest {

    public static void main(String[] args) {
       
        String json = "{id:'1001',name:'张三',age:'22'}";
        Student stu = new Student();
        JSONObject obj = JSONObject.fromObject(json);
        stu = (Student)JSONObject.toBean(obj, Student.class);
        System.out.println(stu);
    }

}
输出结果为1001, 张三, 22
然后我们在修改修改
import net.sf.json.JSONObject;

public class ToBeanTest {

    public static void main(String[] args) {
       
        String json = "{id:'1001',name:'张三'}";
        Student stu = new Student();
        JSONObject obj = JSONObject.fromObject(json);
        stu = (Student)JSONObject.toBean(obj, Student.class);
        System.out.println(stu);
    }

}
把年龄给去掉age为int型,输出结果为:1001, 张三, 0
然后再做小小改动
import net.sf.json.JSONObject;

public class ToBeanTest {

    public static void main(String[] args) {
       
        String json = "{id:'1001',age:'22'}";
        Student stu = new Student();
        JSONObject obj = JSONObject.fromObject(json);
        stu = (Student)JSONObject.toBean(obj, Student.class);
        System.out.println(stu);
    }

}
把姓名给去掉name为String型,输出结果为:1001, null, 22
再改动一下:
import net.sf.json.JSONObject;

public class ToBeanTest {

    public static void main(String[] args) {
       
        String json = "{id:'1001',name:'张三',age:'nn'}";
        Student stu = new Student();
        JSONObject obj = JSONObject.fromObject(json);
        stu = (Student)JSONObject.toBean(obj, Student.class);
        System.out.println(stu);
    }

}
把age改成非整形,输出结果为:
1001, 张三, 0

再改动一下:
import net.sf.json.JSONObject;

public class ToBeanTest {

    public static void main(String[] args) {
       
        String json = "{id:'1001',name:'张三',age:'22',sex:'男'}";
        Student stu = new Student();
        JSONObject obj = JSONObject.fromObject(json);
        stu = (Student)JSONObject.toBean(obj, Student.class);
        System.out.println(stu);
    }

}
加了一个sex:'男'的一对键值,输出结果为:
1001, 张三, 22
2010-11-13 10:10:26 net.sf.json.JSONObject toBean
警告: Tried to assign property sex:java.lang.String to bean of class sky.liukai.Student



如上代码就可了解toBean方法了!

你可能感兴趣的:(json toBean使用)