Java 讀取json文件

/**
 * @Description JSON文件轉互轉
 * @Author WangKun
 * @Date 2019/10/30 8:57
 * @Version
 */
public class JsonResourceUtils {

    private static Logger logger = Logger.getLogger(JsonResourceUtils.class);

    /**
     * @Description JSON文件轉JSONArray
     * @param filename
     * @throws
     * @Return com.alibaba.fastjson.JSONObject
     * @Date 2019-10-30 09:14:56
     * @Author WangKun
     **/
    public static JSONArray getJsonArrayFromResource(String filename) {
        JSONArray json = null;

        if (!filename.contains(".json")) {
            filename += ".json";
        }
        try {
            URL url = JsonResourceUtils.class.getResource(filename);
            String path = url.getPath();
            File file = new File(path);
            if (file.exists()) {
                String content = FileUtils.readFileToString(file, "UTF-8");
                json = JSON.parseArray(content);
            } else {
                logger.info("文件不存在!");
            }

        } catch (Exception e) {
            e.printStackTrace();
            logger.info("讀取文件失敗!" + e.getMessage());
        }


        return json;
    }


    /**
     * @Description JSON文件轉JSONObject
     * @param filename
     * @throws
     * @Return com.alibaba.fastjson.JSONObject
     * @Date 2019-10-30 09:14:56
     * @Author WangKun
     **/
    public static JSONObject getJsonObjectFromResource(String filename) {
        JSONObject json = null;

        if (!filename.contains(".json")) {
            filename += ".json";
        }
        try {
            URL url = JsonResourceUtils.class.getResource(filename);
            String path = url.getPath();
            File file = new File(path);
            if (file.exists()) {
                String content = FileUtils.readFileToString(file, "UTF-8");
                json = JSON.parseObject(content);
            } else {
                logger.info("文件不存在!");
            }

        } catch (Exception e) {
            e.printStackTrace();
            logger.info("讀取文件失敗" + e.getMessage());
        }


        return json;
    }
}

調用方法:

JSONArray resultDtoList = JsonResourceUtils.getJsonArrayFromResource("/data/***.json");
// 轉成Llist
List<實體> list = JSONObject.parseArray(resultDtoList.toJSONString(), 實體.class);

項目路徑:

src\main\resources\data

可以自定義路徑

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章