JSONObject 的基本用法

import net.sf.json.JSONObject;

public static void main(String[] args) {
  Map map=new HashMap();
  map.put("我","妹");
  map.put("你","妹");
  map.put("他","妹");
  JSONObject json = JSONObject.fromObject(map);
  System.out.println(json);
 }

輸出的結果 {"我":"妹","你":"妹","他":"妹"}

首先一个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方法的类:输出结果为1001, 张三, 22 

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);
    }
}



我们做一个简单的修改:把年龄给去掉age为int型,输出结果为:1001, 张三, 0 

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);
    }
}


再做小小改动 :把姓名给去掉name为String型,输出结果为:1001, null, 22 

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);
    }
}



再改动一下:把age改成非整形,输出结果为:1001, 张三, 0 

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);
    }
}


再改动一下:加了一个sex:'男'的一对键值,输出结果为:1001, 张三, 22

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);
    }
}