Java開發中,經常需要將Json轉換為實體類,而實現這個過程就需要用到Json解析庫。目前常用的Json解析庫有Gson、FastJson、Jackson等,本文介紹使用Gson將Json轉實體類。
//引入Gson庫 import com.google.gson.Gson; //Json字符串 String jsonStr = "{\"name\":\"qinyanjie\", \"age\": 25, \"gender\": \"male\"}"; //實體類 class Person{ String name; int age; String gender; } //將Json字符串轉換為實體類 Gson gson = new Gson(); Person person = gson.fromJson(jsonStr, Person.class);
上述代碼首先引入Gson庫,然后定義一個Json字符串和一個實體類Person。Gson的fromJson方法將Json字符串轉為Person對象,需要傳入兩個參數,第一個是Json字符串,第二個是實體類的類型。
同時,若Json字符串中包含List等集合類型,則需要使用TypeToken將其轉換為對應的類型,在解析時傳入TypeToken類型。
//Json字符串 String jsonListStr = "[{\"name\":\"qinyanjie\", \"age\": 25, \"gender\": \"male\"}, {\"name\":\"zhangsan\", \"age\": 30, \"gender\": \"female\"}]"; //將Json字符串轉換為List類型 Type listType = new TypeToken>() {}.getType(); List
personList = gson.fromJson(jsonListStr, listType);
上述代碼中,將Json字符串轉換為List類型,需要使用TypeToken,創建一個匿名內部類實現TypeToken接口,并在getType方法中定義Type類型為List泛型Person,然后將該Type對象作為fromJson方法的第二個參數即可。
通過以上兩個例子,我們可以看到,使用Gson輕松實現Json轉實體類。