javascript
详解JSONObject.parseObject和JSONObject.fromObject——Web网络系列学习笔记
一. 說明
com.alibaba.fastjson.JSONObject是經常會用到的JSON工具包,同樣它的轉換方法也會經常被我們使用,包括對象轉成JSON串,JSON串轉成java對象等,如果過一段時間不用的話很容易就會忘記,所以將使用方法總結如下,以便以后忘記了方便查詢
//Java對象轉換成String類型的JSON字符串 JSONObject.toJSONString(Java對象)//String類型的JSON字符串轉換成Java對象 JSONObject.toJavaObject(JSON字符串,Java對象.class)//Json字符串轉換成JSONObject對象 JSONObject.parseObject(JSON字符串)//JSON字符串轉換成Java對象 JSONObject.parseObject(JSON字符串,Java對象.class)下面是對于JSON的詳細介紹。
二. JSON
JSON 即 JavaScript Object Natation,它是一種輕量級的數據交換格式,非常適合于服務器與 JavaScript 的交互。
1. 創建JSON對象
用put(key, value)拼接json
JSONObject object = new JSONObject(); jsonObjectRow.put("YWH", projId); jsonObjectRow.put("YWX", "2010"); jsonObjectRow.put("JGXYH", jsonObject.getString("ZJYH"));2. 創建JSON數組
用add添加json對象(可以看做是多個JSON對象的集合):
JSONArray jsonArrayRow = new JSONArray(); jsonArrayRow.add(object);3. JSON.parseObject(String text)與JSONObject.parseObject(String text)
parseObject翻譯:解析對象。(將String字符串解析成對象)
JSONObject是JSON的子類。
JSON是一個抽象類,JSON中有一個靜態方法parseObject(String text),將text解析為一個JSONObject對象并返回
JSONObject是一個繼承自JSON的類,當調用JSONObject.parseObject(result)時,會直接調用父類的parseObject(String text)。
所以兩者沒什么區別,一個是用父類去調用父類自己的靜態的parseObject(String text),一個是用子類去調用父類的靜態parseObject(String text),兩者調的是同一個方法。
4 JSON轉換成Java數據(包含Java對象)
4.1 將json對象轉換為java對象
Person jb = (Person)JSONObject.toBean(obj,Person.class);//將建json對象轉換為Person對象4.2 JSON對象轉化為List對象
使用JSON.parseArray()
這個方法的作用就是將json格式的數據轉換成數組格式。
假設有Person這個類,有json類型數據
jsonStr = [{"name":"張三","age":"1"},{"name":"李四","age":"4"} ]那么 List lists = json.parseArray(jsonStr, Person.class); 中,lists就可以接收jsonStr了
5. Java數據(包括對象)轉換成JSON
JSONObject jo = JSONObject.fromObject(map);將參數解析成JSONObject對象
它在對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']" );6. Java對象轉換成JSON代碼JSONObject json = JSONObject.fromObject(obj);//將java對象轉換為json對象喜歡就點個贊吧!
總結
以上是生活随笔為你收集整理的详解JSONObject.parseObject和JSONObject.fromObject——Web网络系列学习笔记的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: JSONObjec的作用详解——Web网
- 下一篇: 通俗易懂讲解RPC、SpringClou