基于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()来转换; |