一、JSON課程介紹
1》JSON是行業內使用最爲廣泛的數據傳輸格式。
定義:JSON是一種與開發語言無關的、輕量級的數據格式。全稱是JavaScript Object Notation。
優點:易於人的閱讀和編寫,易於程序解析與生產。
2》標準的JSON數據表示:
1.數據結構:
Object:使用花括號{}包含的鍵值對結構,key必須是string類型,value爲任何基本類型或數據結構;
Array :使用中括號[ ]來起始,並用逗號, 來分隔元素
2.基本類型:string 、number 、true 、 false 、null
注:JSON中沒有具體的日期類型,常用字符串類型表示或時間戳表示時間/日期。
JSON中沒有註釋支持。
二、JSON使用
1》創建一個JSONObject對象
JSONObject wxe = new JSONObject();
2》put()方法重載了兩個不同的value的屬性,會有錯誤,因此定義了一個Object nullObj = null ;
wxe.put(" major" , new String[ ]{ "理髮" , "挖掘機"});
wxe.put(“car ” , nullObj);
3》使用toString()方法打印輸出
wxe.toString();
三、使用Map構建JSON
1》創建HashMap
Map<String , Object> wxe = new HashMap<String , Object>() ;
2》put()方法
3》調用 : new JSONObject(wxe).toString() ;
四、使用Java Bean構建對象
1》創建Java Bean,創建類名爲Man
private String name ;
生成getter/setter方法
2》通過Java Bean構建JSON
Man wxe = new Man() ;
wxe.setName(“小明”);
3》調用 : new JSONObject(wxe) ;
五、從文件讀取JSON(解析)1》需要有一個wxe.json文件
2》聲明文件 File file = new File(文件路徑) ;
文件路徑距離說明:在根目錄下時:類名 . class .getResource(" /wxe.json") . getFile() ;
3》得到對象,並從對象中讀一些內容,有異常拋出
String content = FileUtils.readFileToString(file) ;
4》json內容轉換爲json對象進行處理
JSONObject jsonObj = new JSONObject(content);
System.out.println(“姓名是: ” + jsonObj.getString("name") );
獲取數據的方法:
JSONArray majorArray = jsonObj.getJSONArray("major");
for(int i = 0 ; i<majorArray.length() ;i++) {
String m =(String) major.get(i) ;
}
5》從文件讀取JSON判斷null
if(! jsonObj.isNull("name"){
//進行相應操作
}