基于json-lib.jar包 创建JSONArray的四个常用方法

2009-12-11 11:17
基于json-lib.jar包Json实例程序
1.从头或者从零开始,创建一个JSONArray(Creating a JSONArray from scratch)
实例1:
   JSONArray jsonArray = new JSONArray().element("JSON").element("1").element("2.0").element("true");
   assertEquals("JSON", jsonArray.getString(0));
   assertEquals(1, jsonArray.getInt(1));
   assertEquals(2.0d, jsonArray.getDouble(2), 0d);
   assertTrue(jsonArray.getBoolean(3));
  
2.使用一个JSON格式化字符串来创建一个JSONArray(Creating a JSONArray from a JSON formatted string)  
实例1:
   String str = "['JSON', 1, 2.0, true]";   //注意该字符串的格式"[ , ]"
   JSONArray jsonArray = (JSONArray) JSONSerializer.toJSON( str );  
   assertEquals( "JSON", jsonArray.getString(0) );        
   assertEquals( 1, jsonArray.getInt(1) );        
   assertEquals( 2.0d, jsonArray.getDouble(2), 0d );        
   assertTrue( jsonArray.getBoolean(3) );
  
3.使用一个Collection来创建一个JSONArray(Creating a JSONArray from a Collection)
实例1:
   List list = new ArrayList();  
   list.add( "JSON" );  
   list.add( "1" );  
   list.add( "2.0" );  
   list.add( "true" );  
   JSONArray jsonArray = (JSONArray) JSONSerializer.toJSON( list );  
   assertEquals( "JSON", jsonArray.getString(0) );        
   assertEquals( 1, jsonArray.getInt(1) );        
   assertEquals( 2.0d, jsonArray.getDouble(2), 0d );        
   assertTrue( jsonArray.getBoolean(3) );
  
4.使用一个Array来创建一个JSONArray(Creating a JSONArray from an array)
实例1:
   Object[] array = new Object[] { "JSON", 1, 2.0, true };
   JSONArray jsonArray = (JSONArray) JSONSerializer.toJSON(array);
   assertEquals("JSON", jsonArray.getString(0));
   assertEquals(1, jsonArray.getInt(1));
   assertEquals(2.0d, jsonArray.getDouble(2), 0d);
   assertTrue(jsonArray.getBoolean(3));
实例2:
   Object[] array = new Object[] { "JSON", 1, 2.0, true };
   JSONArray jsonArray = JSONArray.fromObject(array);
   assertEquals("JSON", jsonArray.getString(0));
   assertEquals(1, jsonArray.getInt(1));
   assertEquals(2.0d, jsonArray.getDouble(2), 0d);
   assertTrue(jsonArray.getBoolean(3));
  
由此可见,无论要转换的源是哪种类型,都可以使用(JSONArray) JSONSerializer.toJSON()或JSONArray.fromObject()来转换;
posted @ 2010-04-16 13:53  夜色狼  阅读(979)  评论(0)    收藏  举报