ajax之json資料交換格式學習
阿新 • • 發佈:2018-12-13
日期:2018—10—4
今日學習將Javabean物件轉換成json資料物件 1、學習ajax資料交換 2、學習如何將Javabean物件轉換成json資料物件 目前,學習了ajax響應的資料格式有3種(字串,xml,json),今晚學習ajax中最受歡迎的一種資料交換格式:json;json資料交換格式簡單的說就是將從伺服器中查詢並獲取到的Javabean物件的資料轉換成json資料格式響應給客戶端。今天晚上就學習如何將Javabean資料格式轉換成json資料格式響應給客戶端 一、json簡介 1、什麼是json? 說簡單點,json就是js提供的一種資料交換格式,目前在ajax中最受歡迎。 2、json語法 {}:這對大括號是表示一個物件 (1) 其中屬性名必須使用雙引號括起來,單引號不可以! (2) 其中屬性值可以是以下幾種 a.null b.數值:數值不用雙引號 c.字串 d.陣列:陣列需要使用[]括起來 e.boolean值:true和false 比如: var person = {"name":"ZhangSan" , "age":18 , "sex":"male"}; 3、 json與xml比較 可讀性:xml勝出 解析難度:json本身就是js物件,所以簡單 流行度:xml已經流行好多年了,在ajax領域,json更受歡迎 二、如何將Javabean轉換成json呢? 在這裡,我們直接使用一個工具來解決,即json-lib.jar包。這個包有什麼用呢?簡單的說就是使用其中的一些方法將Javabean轉換成json資料格式。 1.專案中json所使用的jar包 - commons-beanutils-1.8.3.jar - commons-collections-3.2.1.jar - commons-lang-2.5.jar - commons-logging-1.1.1.jar - ezmorph-1.0.6.jar - json-lib-2.4-jdk15.jar - xom-1.1.jar 這裡的jar包作為學習已經夠用,就不在列出其他jar包 2.工具中的核心類介紹 JSONObject 類:該類繼承了Map類,其實質就是操作Map 1).toString():該方法將map物件轉換成json物件,並轉換成字串型別 2).fromObject(object):這個方法將Javabean物件轉換成json物件,引數object物件是例項物件。 JSONArray類:該類則繼承了List類 1).toString():該方法將List物件轉換成json物件,並轉換成字串型別 2).fromObject(list):該方法將list轉換成json物件 3.程式碼例項
public void test01() { JSONObject map = new JSONObject(); map.put("name", "ZhangSan"); map.put("age", 18); map.put("sex", "famle"); String s = map.toString(); //使用map的toString()方法,直接將json物件轉換成字串 System.out.println(s); /** * 結果: * {"name":"ZhangSan","age":18,"sex":"famle"} */ } @Test public void test02() { Person p = new Person("zhangSan",23,"male"); JSONObject map = JSONObject.fromObject(p); //這個方法可以直接將javab物件轉換成json物件 System.out.println(map.toString()); /** * 結果: * {"age":23,"name":"zhangSan","sex":"male"} */ } @Test public void test03() { Person p1 = new Person("zhangSan",23,"famale"); Person p2 = new Person("liSi",24,"male"); JSONArray arr = new JSONArray(); arr.add(p1); arr.add(p2); System.out.println(arr.toString()); /** * 結果: * [{"age":23,"name":"zhangSan","sex":"famale"}, * {"age":24,"name":"liSi","sex":"male"}] */ } @Test public void test04() { Person p1 = new Person("zhangSan",23,"famale"); Person p2 = new Person("liSi",24,"male"); List<Person> listPerson = new ArrayList<Person>(); listPerson.add(p1); listPerson.add(p2); System.out.println(JSONArray.fromObject(listPerson)); /** * 結果: * [{"age":23,"name":"zhangSan","sex":"famale"}, * {"age":24,"name":"liSi","sex":"male"}] */ }