json 测试

参照:
    http://json-lib.sourceforge.net/usage.html

先 json <-> object
package  test.json;

import  java.util.ArrayList;
import  java.util.HashMap;
import  java.util.List;
import  java.util.Map;

import  org.apache.commons.beanutils.PropertyUtils;

import  com.jjm.viewBean.reportTableBean;

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

import  junit.framework.TestCase;

public   class  JsonTest  extends  TestCase {

// object to json ************************************************************
     public   void  testList(){
        
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"]   
    }
    
    
public   void  testMap(){
        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}
    }

    
/**
     * Bean.java 
        private String name = "json";   
        private int pojoId = 1;   
        private char[] options = new char[]{'a','f'};   
        private String func1 = "function(i){ return this.options[i]; }";   
        private JSONFunction func2 = new JSONFunction(new String[]{"i"},"return this.options[i];");
    
*/
     
public   void  testBean(){
         JSONObject jsonObject 
=  JSONObject.fromObject(  new  JsonBean() );   
         System.out.println( jsonObject );   
         
// {"func1":function(i){ return this.options[i]; },"pojoId":1,"name":"json","options":["a","f"],"func2":function(i){ return this.options[i]; }}  
     }
     
     
/**
      * private int row ;
          private int col ;
          private String value ;
      *
      
*/
     
public   void  testBeans(){
         List list 
=   new  ArrayList();
         JsonBean2 jb1 
=   new  JsonBean2();
         jb1.setCol(
1 );
         jb1.setRow(
1 );
         jb1.setValue(
" xx " );
         
         JsonBean2 jb2 
=   new  JsonBean2();
         jb2.setCol(
2 );
         jb2.setRow(
2 );
         jb2.setValue(
"" );
         
         
         list.add(jb1);
         list.add(jb2);
         
         JSONArray ja 
=  JSONArray.fromObject(list);
         System.out.println( ja.toString() );
         
// [{"value":"xx","row":1,"col":1},{"value":"","row":2,"col":2}]
     }
     
     

//    json  to object ************************************************************     
     
     
public   void  testJsonBeanUtil() throws  Exception{
             String json 
=   " {name=\ " json\ " ,bool:true,int:1,double:2.2,func:function(a){ return a; },array:[1,2]} " ;   
            JSONObject jsonObject 
=  JSONObject.fromString(json);   
            Object bean 
=  JSONObject.toBean( jsonObject );   
            assertEquals( jsonObject.get( 
" name "  ), PropertyUtils.getProperty( bean,  " name "  ) );   
            assertEquals( jsonObject.get( 
" bool "  ), PropertyUtils.getProperty( bean,  " bool "  ) );   
            assertEquals( jsonObject.get( 
" int "  ), PropertyUtils.getProperty( bean,  " int "  ) );   
            assertEquals( jsonObject.get( 
" double "  ), PropertyUtils.getProperty( bean,  " double "  ) );   
            assertEquals( jsonObject.get( 
" func "  ), PropertyUtils.getProperty( bean,  " func "  ) );   
            List expected 
=  JSONArray.toList( jsonObject.getJSONArray(  " array "  ) );   
            assertEquals( expected, (List) PropertyUtils.getProperty( bean, 
" array "  ) );  
     }
     
     
public   void  testJsonBean(){
             String json 
=   " {\ " value\ " :\ " xx\ " ,\ " row\ " :1,\ " col\ " :1} " ;   
            JSONObject jsonObject 
=  JSONObject.fromString(json);
            JsonBean2 bean 
=  (JsonBean2) JSONObject.toBean( jsonObject, JsonBean2. class  );   
            assertEquals( jsonObject.get( 
" col "  ), new  Integer( bean.getCol())  );   
            assertEquals( jsonObject.get( 
" row "  ),  new  Integer( bean.getRow() ) );   
            assertEquals( jsonObject.get( 
" value "  ), bean.getValue() );  
     }
}                                                                                                                                  


json <-> xml
JSON to XML
  1. JSONObject json = new JSONObject( true );  
  2. String xml = XMLSerializer.write( json );  
JSONObject json = new JSONObject( true ); String xml = XMLSerializer.write( json );
  1. <o class="object" null="true">  
  2.       
<o class="object" null="true">
  1. JSONObject json = JSONObject.fromObject("{\"name\":\"json\",\"bool\":true,\"int\":1}");  
  2. String xml = XMLSerializer.write( json );  
JSONObject json = JSONObject.fromObject("{\"name\":\"json\",\"bool\":true,\"int\":1}"); String xml = XMLSerializer.write( json );
  1. <o class="object">  
  2.    <name type="string">json</name>  
  3.    <bool type="boolean">true</bool>  
  4.    <int type="number">1</int>  
  5. </o>  
<o class="object"> <name type="string">json</name> <bool type="boolean">true</bool> <int type="number">1</int> </o>
  1. JSONArray json = JSONArray.fromObject("[1,2,3]");  
  2. String xml = XMLSerializer.write( json );  
JSONArray json = JSONArray.fromObject("[1,2,3]"); String xml = XMLSerializer.write( json );
  1. <a class="array"<  
  2.    <e type="number">1</e>  
  3.    <e type="number">2</e>  
  4.    <e type="number">3</e>  
  5. </a>  
xml to json
  1. <a class="array">  
  2.   <e type="function" params="i,j">  
  3.       return matrix[i][j];  
  4.   </e>  
  5. </a>  
<a class="array"> <e type="function" params="i,j"> return matrix[i][j]; </e> </a>
  1. JSONArray json = (JSONArray) XMLSerializer.read( xml );  
  2. System.out.println( json );  
  3. // prints [function(i,j){ return matrix[i][j]; }] 


你可能感兴趣的:(json 测试)