javascript
JSONObject.parseObject和JSONObject.fromObject
參考:https://blog.csdn.net/qq635785620/article/details/10436789
https://blog.csdn.net/qq_40206864/article/details/82997458
說明
?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 即 JavaScript Object Natation,它是一種輕量級的數據交換格式,非常適合于服務器與 JavaScript 的交互。
創建json對象
用put(key,value)拼接json:
JSONObject object = new JSONObject(); jsonObjectRow.put("YWH", projId); jsonObjectRow.put("YWX", "2010"); jsonObjectRow.put("JGXYH", jsonObject.getString("ZJYH"));?
創建json數組
用add添加json對象(json對象轉json數組):
JSONArray jsonArrayRow = new JSONArray(); jsonArrayRow.add(object);JSON.parseObject(String text)與JSONObject.parseObject(String text)
? ? ? JSONObject是JSON的子類。JSON是一個抽象類,JSON中有一個靜態方法parseObject(String text),將text解析為一個JSONObject對象并返回;JSONObject是一個繼承自JSON的類,當調用JSONObject.parseObject(result)時,會直接調用父類的parseObject(String text)。所以兩者沒什么區別,一個是用父類去調用父類自己的靜態的parseObject(String text),一個是用子類去調用父類的靜態parseObject(String text),兩者調的是同一個方法。
?
parseObject(String str) 的作用:
? ? json.parseObbject(String str)是將str轉換成相應的jsonObject對象,其中str是“鍵值對”形式的json字符串,轉化為jsonObject對象之后就可以使用其內置的方法,進行處理
JSON.parseArray()
這個方法的作用就是將json格式的數據轉換成數組格式。
假設有Person這個類,有json類型數據jsonStr = [{"name":"張三","age":"1"},{"name":"李四","age":"4"}],那么List lists?= json.parseArray(jsonStr,?Person.class);lists就可以接收jsonStr了
?
JSON與JAVA數據的轉換()
來自net.sf.json.*下的類(jar包是json-lib-x.x.jar)
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、首先將json字符串轉換為json對象,然后再解析json對象,過程如下。
JSONObject jsonObject = JSONObject.fromObject(jsonStr);
?根據json中的鍵得到它的值
String name = jsonObject.getString("name"); int num = jsonObject.getInt("num"); String sex = jsonObject.getString("sex"); int age = jsonObject.getInt("age");7.將json字符串轉換為java對象
先將json字符串轉換為json對象,再將json對象轉換為java對象,如下所示。
3.將java對象轉換為json字符串
先將java對象轉換為json對象,在將json對象轉換為json字符串
?
總結
以上是生活随笔為你收集整理的JSONObject.parseObject和JSONObject.fromObject的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 唤醒控件曾经拥有的能力
- 下一篇: 理解 Delphi 的类(十) - 深入