JSON是一種輕量級(jí)的數(shù)據(jù)交換格式,在Web開發(fā)中應(yīng)用廣泛。Java API提供了許多工具類幫助我們解析JSON格式的數(shù)據(jù),其中最常用的是JSONObject和JSONArray類。
// 示例JSON數(shù)據(jù) { "name": "Jack", "age": 25, "hobbies": ["reading", "hiking"], "address": { "city": "Shanghai", "district": "Pudong" } } // 解析JSON數(shù)據(jù) import org.json.*; public class JsonParser { public static void main(String[] args) { String jsonStr = "{\"name\":\"Jack\",\"age\":25,\"hobbies\":[\"reading\",\"hiking\"],\"address\":{\"city\":\"Shanghai\",\"district\":\"Pudong\"}}"; JSONObject jsonObj = new JSONObject(jsonStr); String name = jsonObj.getString("name"); int age = jsonObj.getInt("age"); JSONArray hobbies = jsonObj.getJSONArray("hobbies"); JSONObject address = jsonObj.getJSONObject("address"); String city = address.getString("city"); String district = address.getString("district"); System.out.println("name: " + name); System.out.println("age: " + age); System.out.println("hobbies: " + hobbies); System.out.println("city: " + city); System.out.println("district: " + district); } }
在以上示例中,我們使用JSONObject類將JSON字符串解析為一個(gè)Java對(duì)象,并通過(guò)其提供的方法獲取對(duì)應(yīng)的值,如getString()、getInt()、getJSONArray()和getJSONObject()等。若JSON數(shù)據(jù)中存在嵌套的對(duì)象或數(shù)組,可以使用嵌套的JSONObject或JSONArray對(duì)象來(lái)訪問(wèn)。
除了JSONObject和JSONArray類外,Java API還提供了Gson和Jackson等第三方開源庫(kù)來(lái)解析JSON數(shù)據(jù)。這些庫(kù)都提供了更為便捷的方法來(lái)操作JSON數(shù)據(jù),并支持將JSON數(shù)據(jù)序列化為Java對(duì)象。