JSON(JavaScript 對象表示法)是一種輕量級數據交換格式,而 Java 則是一種強類型語言。Java 很容易將對象序列化為 JSON,JSON 也很容易通過反序列化轉換為 Java 對象。下面介紹如何使用 Java 將 JSON 數據轉換為 Java 實體。
// 1. 導入相關庫 import com.alibaba.fastjson.JSON; // 2. 將 JSON 字符串轉換為 Java 對象 String jsonStr = "{ \"name\": \"Tom\", \"age\": 18 }"; User user = JSON.parseObject(jsonStr, User.class); // 3. 定義 Java 實體類 public class User { private String name; private int age; // 對應的 getter 和 setter 方法 // ... }
以上代碼將一個 JSON 字符串轉換為 User 對象。需要注意的是,User 類的屬性名必須與 JSON 字符串中的鍵名相同。JSON.parseObject() 方法需要兩個參數:要解析的 JSON 字符串和要映射到的 Java 類類型。
如果 JSON 字符串中存在嵌套的 JSON 對象或數組,也可以通過類似的方式將其轉換為 Java 對象。Fastjson 是目前一個性能最好的 JSON 解析庫,在處理大量數據時速度比其他 JSON 庫快。由于 Fastjson 不是官方庫,需要在項目中手動引入相關依賴。
// 1. 引入 Fastjson 依賴// 2. 將 JSON 字符串轉換為 Java 對象 String jsonStr = "{ \"name\": \"Tom\", \"age\": 18, \"hobby\":[\"music\", \"reading\"] }"; User user = JSON.parseObject(jsonStr, User.class); // 3. 定義包含數組的 Java 實體類 public class User { private String name; private int age; private List com.alibaba fastjson 1.2.62 hobby; // 對應的 getter 和 setter 方法 // ... }
以上代碼演示了如何使用 Fastjson 將包含數組的 JSON 字符串轉換為 Java 對象。Java 實體類 User 中的 hobby 屬性是一個 List,對應 JSON 中的一個數組。
綜上,通過以上方法,可以很方便地將 JSON 數據轉換為 Java 對象,并且 Java 對象也可以輕松地序列化為 JSON 字符串。