当前位置:编程学习 > JAVA >>

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" );  
            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"]  

2、Map
Java代码 
Map map = new HashMap();     
         map.put( "name", "json" );     
         map.put( "bool", Boolean.TRUE );     
           
         map.put( "int", new Integer(1) );     
         map.put( "arr", new String[]{"a","b"} );     
         map.put( "func", "function(i){ return this.arr[i]; }" );     
         JSONObject json = JSONObject.fromObject( map );     
         System.out.println( json );     
         //{"func":function(i){ return this.arr[i]; },"arr":["a","b"],"int":1,"name":"json","bool":true} 

Map map = new HashMap();  
         map.put( "name", "json" );  
         map.put( "bool", Boolean.TRUE );  
        
         map.put( "int", new Integer(1) );  
         map.put( "arr", new String[]{"a","b"} );  
         map.put( "func", "function(i){ return this.arr[i]; }" );  
         JSONObject json = JSONObject.fromObject( map );  
         System.out.println( json );  
         //{"func":function(i){ return this.arr[i]; },"arr":["a","b"],"int":1,"name":"json","bool":true}

3、BEAN
Java代码 
/** 
     * Bean.java  
        private String name = "json";    
        private int pojoId = 1;    补充:软件开发 , Java ,

CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,