JSONArray与JSONObject简介
JSONObject的数据是用 { } 来表示的,
例如: { “id” : “123”, “name” : “hello”, “title” : “work”, “content” : null }
而JSONArray,顾名思义是由JSONObject构成的数组,用 [ { } , { } , …… , { } ] 来表示
例如: [ { “id” : “123”, “name” : “hello”, “title” : “work” } , { “content” : null} ] ;
表示了包含2个JSONObject的JSONArray。
可以看到一个很明显的区别,一个最外面用的是 { } ,一个最外面用的是 [ ] ;
Students students = new Students();
students.setStuName("张三");
students.setStuAge("28");
students.setAddress("广州天河区");
// 1、使用JSONObject
JSONObject strJson = JSONObject.fromObject(students);
// 2、使用JSONArray
JSONArray strArray = JSONArray.fromObject(students);
System.out.println("Java对象转JSON字符串");
System.out.println("JSON:" + strJson.toString());
System.out.println("Array:" + strArray.toString());
JSON:{"address":"广州天河区","stuAge":"28","stuName":"张三"}
Array:[{"address":"广州天河区","stuAge":"28","stuName":"张三"}]
--请注意,这个方法曾经给我造成过困惑。因为,它在对Object转换的时候是按照domain类中的所有getXXX()方法进行转换的。如果你在类中写了非属性的getXXX()方法,那么返回给你的就会有XXX属性了。
1. List集合转换成json对象
List list = new ArrayList();
list.add( "first" );
list.add( "second" );
JSONArray jsonArray2 = JSONArray.fromObject( list );
2. Map集合转换成json对象
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);
3. Bean转换成json对象
JSONObject jsonObject = JSONObject.fromObject(new JsonBean());
4. 数组转换成json对象
boolean[] boolArray = new boolean[] { true, false, true };
JSONArray jsonArray1 = JSONArray.fromObject(boolArray);
5. 一般数据转换成json对象
JSONArray jsonArray3 = JSONArray.fromObject("['json','is','easy']" );
网友评论