gson是一個用于將json格式數據轉換為Java對象以及將Java對象轉換為json格式數據的開源庫。在開發過程中,將Json格式數據轉換為Java對象或者將Java對象轉換為Json格式數據是一項常見的任務。gson提供了很多方法來實現這兩種轉換操作。本文將著重介紹gson的轉換方法之一——轉Json為實體類。
// Json字符串 String jsonStr = "{\n" + " \"name\":\"Alice\",\n" + " \"age\":18,\n" + " \"gender\":\"female\"\n" + "}"; // 定義實體類 class Person { private String name; private int age; private String gender; public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } public String getGender() { return gender; } public void setGender(String gender) { this.gender = gender; } } // 將json轉化為實體類 Gson gson = new Gson(); Person person = gson.fromJson(jsonStr, Person.class); // 輸出轉化后的實體類 System.out.println("name=" + person.getName()); System.out.println("age=" + person.getAge()); System.out.println("gender=" + person.getGender());
上述代碼中使用了gson庫提供的fromJson方法來進行 Json 轉實體類的操作,其中第一個參數為 Json 字符串,第二個參數為實體類的 Class 對象。此方法會返回一個實體類對象,該對象的屬性值已經從 Json 字符串中解析出來并賦值到實體類對象中。
需要注意的是,實體類的屬性名需要與 Json 字符串中的鍵名保持一致,否則通過fromJson方法解析 json 字符串時,解析出來的對象對應屬性值為null。
下一篇Mysql寫小馬