JSON是一種輕量級的數據交換格式,它比XML更加簡潔、易讀、易解析。Java對JSON的支持也非常好,幾乎所有的主流Java框架都提供了JSON的解析和生成工具。下面介紹幾個Java處理JSON的實例。
1. 解析JSON
String jsonStr = "{\"name\": \"Tom\", \"age\": 18}"; JSONObject jsonObj = new JSONObject(jsonStr); String name = jsonObj.getString("name"); int age = jsonObj.getInt("age");
這段代碼先將JSON字符串解析成JSONObject對象,然后通過getString()和getInt()方法獲取JSON中的字符串和整數。
2. 生成JSON
JSONObject jsonObj = new JSONObject(); jsonObj.put("name", "Tom"); jsonObj.put("age", 18); String jsonStr = jsonObj.toString();
這段代碼創建了一個JSONObject對象,添加了兩個屬性name和age,最后將JSONObject對象轉換成JSON字符串。
3. 處理嵌套JSON
String jsonStr = "{\"name\": \"Tom\", \"age\": 18, \"address\": {\"province\": \"江蘇\", \"city\": \"南京\"}}"; JSONObject jsonObj = new JSONObject(jsonStr); String name = jsonObj.getString("name"); int age = jsonObj.getInt("age"); JSONObject addressObj = jsonObj.getJSONObject("address"); String province = addressObj.getString("province"); String city = addressObj.getString("city");
這段代碼先解析包含嵌套JSON的JSON字符串,然后通過getJSONObject()方法獲取嵌套的JSONObject對象,最后再獲取嵌套JSON中的屬性。
4. 處理JSON數組
String jsonStr = "[{\"name\": \"Tom\", \"age\": 18}, {\"name\": \"Jerry\", \"age\": 20}]"; JSONArray jsonArray = new JSONArray(jsonStr); JSONObject jsonObj1 = jsonArray.getJSONObject(0); String name1 = jsonObj1.getString("name"); int age1 = jsonObj1.getInt("age"); JSONObject jsonObj2 = jsonArray.getJSONObject(1); String name2 = jsonObj2.getString("name"); int age2 = jsonObj2.getInt("age");
這段代碼先解析包含JSON數組的JSON字符串,然后通過getJSONObject()方法獲取JSON數組中的JSONObject對象,最后再獲取每個JSONObject對象中的屬性。