讀取json文件為String類型:
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import java.io.*;
/**
* Json讀取工具類
*/
public class JsonUtil {
private static final Logger logger = LogManager.getLogger(JsonUtil.class);
/**
* 讀取json文件
* @param fileName json文件名
* @return 返回json字符串
*/
public String readJsonFile(File jsonFile) {
String jsonStr = "";
logger.info("————開始讀取" + jsonFile.getPath() + "文件————");
try {
//File jsonFile = new File(fileName);
FileReader fileReader = new FileReader(jsonFile);
Reader reader = new InputStreamReader(new FileInputStream(jsonFile), "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();
logger.info("————讀取" + jsonFile.getPath() + "文件結束!————");
return jsonStr;
} catch (Exception e) {
logger.info("————讀取" + jsonFile.getPath() + "文件出現異常,讀取失敗!————");
e.printStackTrace();
return null;
}
}
}
將讀取出來的JSON文件內容從String轉為Map:
import com.alibaba.fastjson.JSON; String jsonStr = jsonUtil.readJsonFile(file); Map jsonMap = (Map) JSON.parse(jsonStr);
