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

java 反射json文件

劉柏宏2年前8瀏覽0評論

Java中反射技術可以幫助我們在運行時動態地獲取和操作類的信息,而JSON作為一種輕量級的數據交換格式,也被廣泛使用。那么,如何使用Java的反射技術對JSON文件進行操作呢?以下是一些示例。

//讀取JSON文件
public static String readJsonFile(String fileName) {
String jsonStr = "";
try {
File file = new File(fileName);
FileReader fileReader = new FileReader(file);
Reader reader = new InputStreamReader(new FileInputStream(file),"UTF-8");
int ch = 0;
StringBuffer sb = new StringBuffer();
while ((ch = reader.read()) != -1) {
sb.append((char) ch);
}
fileReader.close();
reader.close();
jsonStr = sb.toString();
} catch (IOException e) {
e.printStackTrace();
}
return jsonStr;
}
//反射讀取JSON文件中特定字段的值
public static String getFieldValueFromJsonObj(String jsonString, String fieldName) {
String fieldValue = "";
try {
Object obj = JSON.parse(jsonString);
Class clazz = obj.getClass();
Field field = clazz.getDeclaredField(fieldName);
field.setAccessible(true);
fieldValue = String.valueOf(field.get(obj));
} catch (Exception e) {
e.printStackTrace();
}
return fieldValue;
}
//反射修改JSON文件中特定字段的值
public static boolean setFieldValueToJsonObj(String jsonString, String fieldName, String fieldValue) {
boolean result = false;
try {
Object obj = JSON.parse(jsonString);
Class clazz = obj.getClass();
Field field = clazz.getDeclaredField(fieldName);
field.setAccessible(true);
field.set(obj, fieldValue);
result = true;
} catch (Exception e) {
e.printStackTrace();
}
return result;
}

基于以上示例,你可以通過反射技術輕松地讀取和修改JSON文件中的字段值。但需要注意的是,反射可能會帶來一定程度上的性能問題,所以請謹慎使用。