欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

bean轉(zhuǎn)json和通過反射根據(jù)方法名獲取值

錢良釵1年前6瀏覽0評論

Java中的Bean是一種常見的Java類,它通常包含一些私有變量和對應(yīng)的getter和setter方法。在實(shí)際開發(fā)中,我們通常需要把Bean實(shí)例轉(zhuǎn)換成JSON格式的字符串,來進(jìn)行跨平臺傳輸或存儲。

// 定義一個Bean
public class Person {
private String name;
private int age;
// 省略getter和setter方法
}
// 使用Jackson庫將Bean轉(zhuǎn)換成JSON字符串
ObjectMapper mapper = new ObjectMapper();
Person person = new Person();
person.setName("Tom");
person.setAge(18);
String json = mapper.writeValueAsString(person);
System.out.println(json);
// 輸出結(jié)果:{"name":"Tom","age":18}

上述代碼使用了Jackson庫,調(diào)用了writeValueAsString方法將Person實(shí)例轉(zhuǎn)換成JSON字符串,其結(jié)果為{"name":"Tom","age":18}。

除此之外,我們還可以使用反射機(jī)制根據(jù)方法名獲取指定屬性的值:

// 獲取Person實(shí)例的屬性值
Person person = new Person();
person.setName("Tom");
person.setAge(18);
String value = getValueByKey(person, "name");
System.out.println(value);
// 輸出結(jié)果:Tom
// 通過反射獲取屬性值的方法
private static String getValueByKey(Object object, String key) {
String methodName = "get" + key.substring(0, 1).toUpperCase() + key.substring(1);
try {
Method method = object.getClass().getMethod(methodName);
Object obj = method.invoke(object);
return obj.toString();
} catch (Exception e) {
e.printStackTrace();
return null;
}
}

上述代碼通過反射獲取指定屬性的getter方法,并利用invoke方法執(zhí)行該方法,獲取屬性值并返回。