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

java 转json 报错处理机制 案例 .
JSON-lib这个Java类包用于把bean,map和XML转换成JSON并能够把JSON转回成bean和DynaBean。



报错处理机制

commons-beanutils-1.8.0.jar不加这个包
java.lang.NoClassDefFoundError: org/apache/commons/beanutils/DynaBean

commons-collections.jar 不加这个包
java.lang.NoClassDefFoundError: org/apache/commons/collections/map/ListOrderedMap

commons-lang-2.4.jar不加这个包
java.lang.NoClassDefFoundError: org/apache/commons/lang/exception/NestableRuntimeException

commons-logging-1.1.1.jar不加这个包
java.lang.NoClassDefFoundError: org/apache/commons/logging/LogFactory

ezmorph-1.0.4.jar不加这个包
java.lang.NoClassDefFoundError: net/sf/ezmorph/Morpher

json-lib-2.3-jdk15.jar不加这个包
java.lang.NoClassDefFoundError: net/sf/json/JSONObject


我把这段代码拿到junit下测试 就报错了。java.lang.ClassNotFoundException: org.apache.commons.lang.exception.NestableRuntimeException错误,查了下原因原来是少了3个包。因为我在使用json的时候只导入了json-lib-2.1.jar这个包 但是程序还需要这4个包:
commons-beanutils-1.7.0.jar

commons-collections-3.2.jar

commons-lang-2.1.jar
ezmorph-1.0.2.jar
导入之后就发现 OK了。


下载地址:http://json-lib.sourceforge.net/
还要需要的第3方包:
org.apache.commons(3.2以上版本)
org.apache.oro
net.sf.ezmorph(ezmorph-1.0.4.jar)
nu.xom



1、List
Java代码 
boolean[] boolArray = new boolean[]{true,false,true};     
           JSONArray jsonArray1 = JSONArray.fromObject( boolArray );     
           System.out.println( jsonArray1 );     
           // prints [true,false,true]    
             
           List list = new ArrayList();     
           list.add( "first" );     
           list.add( "second" );     
           JSONArray jsonArray2 = JSONArray.fromObject( list );     
           System.out.println( jsonArray2 );     
           // prints ["first","second"]    
 
           JSONArray jsonArray3 = JSONArray.fromObject( "['json','is','easy']" );     
           System.out.println( jsonArray3 );     
           // prints ["json","is","easy"]    

boolean[] boolArray = new boolean[]{true,false,true};  
            JSONArray jsonArray1 = JSONArray.fromObject( boolArray );  
            System.out.println( jsonArray1 );  
            // prints [true,false,true] 
           
            List list = new ArrayList();  
            list.add( "first" );  
            list.add( "second"