Java中的json轉換有些時候我們需要將json轉為泛型類,對于這種情況我們可以使用TypeReference類來實現,以下是一個簡單的示例:
public static <T> T jsonToObject(String jsonString, TypeReference<T> typeReference) throws IOException { ObjectMapper objectMapper = new ObjectMapper(); return objectMapper.readValue(jsonString, typeReference); }
以上代碼中的jsonToObject方法是一個通用的json轉對象方法,其中typeReference參數用于指定泛型類的類型。下面舉一個實際使用的例子:
public class User { private String name; private int age; private List<String> hobbyList; //省略Get/Set方法 } public static void main(String[] args) { String jsonStr = "{\"name\":\"張三\",\"age\":18,\"hobbyList\":[\"游泳\",\"跳舞\"]}"; try { User user = jsonToObject(jsonStr, new TypeReference<User>() {}); System.out.println(user.getName()); System.out.println(user.getAge()); System.out.println(user.getHobbyList()); } catch (IOException e) { e.printStackTrace(); } }
以上示例中的jsonStr表示的是一個用戶對象的json串,我們使用了剛才預先寫好的jsonToObject方法將其轉為User對象,并打印出了User對象的相關屬性。事實上,TypeReference類可以支持更為復雜的泛型類型,比如Map<String,Object>、List<Map<String,Object>>等等,只需要在TypeReference<T>中指定相應的泛型即可。
上一篇css 圖片點擊改變背景
下一篇css 圖片沒有居中顯示