Java中常常需要處理JSON數據,有時候我們需要從JSON中獲取指定的值。下面是一個使用JSON庫將JSON字符串轉換為Java對象,并從中提取值的示例:
// 引入JSON庫 import org.json.JSONObject; // JSON字符串 String jsonData = "{\"name\":\"張三\",\"age\":18,\"hobbies\":[\"看電影\",\"打游戲\"]}"; // 將JSON字符串轉換為JSONObject對象 JSONObject jsonObj = new JSONObject(jsonData); // 從JSONObject中獲取指定鍵的值 String name = jsonObj.getString("name"); int age = jsonObj.getInt("age"); JSONArray hobbies = jsonObj.getJSONArray("hobbies");
在上面的示例中,我們使用了JSON庫中的JSONObject類將JSON字符串轉換為Java對象。使用JSONObject類的getString、getInt、getJSONArray方法可以從JSONObject對象中獲取指定鍵的值。
如果需要獲取嵌套對象的值,可以使用getJSONObject方法;如果需要獲取數組中的值,可以使用JSONArray類的get方法。以下是一個簡單的示例:
// 嵌套JSON對象 String nestedJson = "{\"person\":{\"name\":\"張三\",\"age\":20}}"; JSONObject nestedObj = new JSONObject(nestedJson); // 獲取嵌套JSON對象的值 JSONObject person = nestedObj.getJSONObject("person"); String name = person.getString("name"); int age = person.getInt("age"); // JSON數組 String arrayJson = "[1,2,3,4]"; JSONArray arrayObj = new JSONArray(arrayJson); // 獲取JSON數組的值 int first = arrayObj.getInt(0); int second = arrayObj.getInt(1); int third = arrayObj.getInt(2); int forth = arrayObj.getInt(3);
以上示例中,我們獲取了一個嵌套JSON對象的值和一個JSON數組的值。使用JSONObject的getJSONObject方法可以獲取嵌套對象,而JSONArray的get方法可以獲取數組中的值。