1.使用类加载器读取json文件

 

 

    @ApiOperation(value = "获取省市区接口", notes = "获取省市区接口")
    @PostMapping("/queryProvince")
    public Result<?> queryProvince() {
        //1.读取JSON文件
        String jsonStr = null;
        try {
            InputStream inputStream = this.getClass().getResourceAsStream(AREA);
            InputStreamReader reader = new InputStreamReader(inputStream, StandardCharsets.UTF_8);
            int ch = 0;
            StringBuilder sb = new StringBuilder();
            while ((ch = reader.read()) != -1) {
                sb.append((char) ch);
            }
            reader.close();
            jsonStr = sb.toString();
        } catch (Exception ex) {
            ex.printStackTrace();
        }
        JSONArray result = JSONObject.parseArray(jsonStr);
        //2.返回结果信息
        return Result.OK(result);
    }

//【修订下方可能无用,找不到系统文件】//       

 JSON转换字符串工具类:JsonUtil

2.普通方法 

package com.utils;
import java.io.File;
import java.io.FileInputStream;
import java.io.InputStreamReader;
import java.io.Reader;
import java.nio.charset.StandardCharsets;

/**
 * @Description: 读取JSON文件转换为字符串
 * @Param [filePath]
 * @Return: java.lang.String
 **/
public class JsonUtil {

    public static String readJsonFile(String filePath) {
        String jsonStr = "";
        try {
            File jsonFile = new File(filePath);
            Reader reader = new InputStreamReader(new FileInputStream(jsonFile), StandardCharsets.UTF_8);
            int ch = 0;
            StringBuilder sb = new StringBuilder();
            while ((ch = reader.read()) != -1) {
                sb.append((char) ch);
            }
            reader.close();
            jsonStr = sb.toString();
            return jsonStr;
        } catch (Exception ex) {
            ex.printStackTrace();
            return null;
        }
    }

}

具体使用:pom文件引用

<!-- json -->
<dependency>
    <groupId>com.alibaba</groupId>
    <artifactId>fastjson</artifactId>
    <version>1.2.78</version>
</dependency>

 具体使用:示例

//对象形式读取转换
String jsonStr = JsonUtil.readJsonFile("src/main/resources/json/area.json");
JSONObject result = JSONObject.parseObject(jsonStr);

//数组形式读取转换
String jsonStr = JsonUtil.readJsonFile("src/main/resources/json/area.json");
JSONArray result = JSONObject.parseArray(jsonStr);

 

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐