日期:2014-05-16  浏览次数:20387 次

使用JSON-LIB转换JAVA对象
使用JSON-LIB可以极大的简化JAVA对象转换成JSON对象所需进行的操作,更可以避免人工操作生成JSON对象字符串时带来的麻烦和误操作:
使用JSON-LIB,首先要有几个支持的包:
http://json-lib.sourceforge.net下载json-lib-1.1-jdk15.jar
commons-lang.jar、commons-logging.jar,commons-beanutils.jar  这些包可在tomcat/comon/lib下找到
EZMorph 下载地址http://ezmorph.sourceforge.net
morph-1.0.1 下载地址:http://morph.sourceforge.net

使用例子:
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import net.sf.json.JSONArray;
import net.sf.json.JSONObject;

public class JSONTest {
    public static void main(String[] args) { 
        JSONTest j = new JSONTest(); 
        j.ObjectList2json(); 
    }  
 
    public void ObjectList2json(){
        Map map = new HashMap();
      
        List jlist = new ArrayList();
        JSONTestBean bean1 = new JSONTestBean("zhangbo","123123");
        JSONTestBean bean2 = new JSONTestBean("lisi","65489");
        Props props = new Props("127.0.0.1","8008");
      
        jlist.add(bean1);
        jlist.add(bean2);
      
        map.put("Props", props);
        map.put("jsonObjectList", jlist);
      
        JSONArray jsonArray = JSONArray.fromObject(map); 
        System.out.println(jsonArray); 
    }
  
    public void arr2json() { 
        boolean[] boolArray = new boolean[] { true, false, true }; 
        JSONArray jsonArray = JSONArray.fromObject(boolArray); 
        System.out.println(jsonArray); 
        // prints [true,false,true] 
    } 
 
    public void list2json() { 
        List list = new ArrayList();
        list.add("first"); 
        list.add("second"); 
        JSONArray jsonArray = JSONArray.fromObject(list); 
        System.out.println(jsonArray); 
        // prints ["first","second"] 
    } 
 
    public void createJson() { 
        JSONArray jsonArray = JSONArray.fromObject("['json','is','easy']"); 
        System.out.println(jsonArray); 
        // prints ["json","is","easy"] 
    } 
 
    public void map2json() { 
        Map map = new HashMap();
        map.put("name", "json"); 
        map.put("bool", Boolean.TRUE); 
        map.put("int", new Integer(1));