一、JAR包
需引入JSON-lib包,JSON-lib包同时依赖于以下的JAR包:
1.commons-lang.jar
2.commons-beanutils.jar
3.commons-collections.jar
4.commons-logging.jar
5.ezmorph.jar
6.json-lib-2.2.2-jdk15.jar
二、JSONObject对象使用
//JSONObject对象的创建和数据的添加(key-value方式)
    private static JSONObject createJSONObject(){   
        JSONObject jsonObject = new JSONObject();   
        jsonObject.put("username","天涯草");   
        jsonObject.put("sex", "男");   
        jsonObject.put("QQ", "1");   
        jsonObject.put("Min.score", new Integer(99));   
        jsonObject.put("nickname", "天涯草");   
        return jsonObject;   
    }   
public static void main(String[] args) {   
        JSONObject jsonObject = JSONObjectSample.createJSONObject();   
        //输出jsonobject对象   
        System.out.println("jsonObject==>"+jsonObject);   
           
        //判读输出对象的类型   
        boolean isArray = jsonObject.isArray();   
        boolean isEmpty = jsonObject.isEmpty();   
        boolean isNullObject = jsonObject.isNullObject();   
        System.out.println("isArray:"+isArray+" isEmpty:"+isEmpty+" isNullObject:"+isNullObject);   
           
        //添加属性   
        jsonObject.element("address", "天涯草");   
        System.out.println("添加属性后的对象==>"+jsonObject);   
           
        //创建一个JSONArray对象并添加数据
        JSONArray jsonArray = new JSONArray();   
        jsonArray.add(0, "this is a jsonArray value");   
        jsonArray.add(1,"another jsonArray value");   
       //把jsonArray对象 添加到jsonObject对象
        jsonObject.element("jsonArray", jsonArray);   
        JSONArray array = jsonObject.getJSONArray("jsonArray");   
        System.out.println("返回一个JSONArray对象:"+array);   
        //添加JSONArray后的值   
        // {"username":"天涯草","sex":"男","QQ":"天涯草","Min.score":99,"nickname":"天涯草","address":"天涯草","jsonArray":["this is a jsonArray value","another jsonArray value"]}  
        System.out.println("结果="+jsonObject);   
           
        //jsonObject根据key返回一个字符串   
        String username = jsonObject.getString("username");   
        System.out.println("username==>"+username);  
        
        //把字符与JSONObject的转换
        String temp=jsonObject.toString();
        JSONObject object = JSONObject.fromObject(temp);
        //转换后根据Key返回值
        System.out.println("qq="+object.get("QQ"));
        
    }  
三、JSONArray和JSONObject的互相添加
JSONObject jo = new JSONObject();
  jo.put("isleaf", 
true);
  jo.put("name", "zhangsan");
  jo.put("age", 
"25");
JSONObject jo2 = new JSONObject();
  jo2.put("isleaf", 
false);
  jo2.put("name", "lisi");
  jo2.put("age", 
"25");
(1)//把JSONObject添加到中JSONArray
JSONArray ja0 = new JSONArray();
  ja0.add(jo3);
(2)//把JSONArray添加到JSONObject中
  jo2.element("children", 
ja0);
  System.out.println(jo2.toString());
JSONArray ja1 = new JSONArray();
  ja1.add(jo);
  ja1.add(jo2);
四、JSONArray 中遍历 JSONObject
方法一:
JSONArray array = JSONArray.fromObject(data);for (Object object : array) {  JSONObject o = JSONObject.fromObject(object);    o.get("name")
方法二: 
JSONArray array = JSONArray.fromObject(data);for (int i = 0; i < array.size(); i++) {   JSONObject o = array.getJSONObject(i);   o.get("name")}
原文:http://www.cnblogs.com/ahguSH/p/4865086.html