色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

java json轉(zhuǎn)換泛型類

Java中的json轉(zhuǎn)換有些時(shí)候我們需要將json轉(zhuǎn)為泛型類,對(duì)于這種情況我們可以使用TypeReference類來實(shí)現(xiàn),以下是一個(gè)簡(jiǎn)單的示例:

public static <T> T jsonToObject(String jsonString, TypeReference<T> typeReference) throws IOException {
ObjectMapper objectMapper = new ObjectMapper();
return objectMapper.readValue(jsonString, typeReference);
}

以上代碼中的jsonToObject方法是一個(gè)通用的json轉(zhuǎn)對(duì)象方法,其中typeReference參數(shù)用于指定泛型類的類型。下面舉一個(gè)實(shí)際使用的例子:

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表示的是一個(gè)用戶對(duì)象的json串,我們使用了剛才預(yù)先寫好的jsonToObject方法將其轉(zhuǎn)為User對(duì)象,并打印出了User對(duì)象的相關(guān)屬性。事實(shí)上,TypeReference類可以支持更為復(fù)雜的泛型類型,比如Map<String,Object>、List<Map<String,Object>>等等,只需要在TypeReference<T>中指定相應(yīng)的泛型即可。