获取JSON文件数据;JSONobject转换为Map

文件目录:
在这里插入图片描述
JSON文件内容:
在这里插入图片描述
实例代码:

/**
 * @author zl
 * @since 2020/04/21
 * */
@Slf4j
public class FileUtil {
    public static String  getInfo(){
        File file = null;
        try {
            //使用Spring提供的ResourceUtils工具类获取Resource目录下的文件
            //传入路径,这里是固定的:classpath:+文件目录(相对路径)
            file = ResourceUtils.getFile("classpath:json/json.json");
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        }
        //自定义的一个去读取文件的方法
        String json =readJson(file, "UTF-8");
        return json;
    }

    /**
     * 去JSON文件里面的one对应的值,并转换为Map类型
     * */
    public static Map<String,String> getOneMap(){ 
        Map<String,String> oneMap=new HashMap<>();
        JSONObject object= JSON.parseObject(getInfo()).getJSONObject("one");
        //循环转换
        Iterator it =object.entrySet().iterator();
        while (it.hasNext()) {
            Map.Entry<String, String> entry = (Map.Entry<String, String>) it.next();
            oneMap.put(entry.getKey(), entry.getValue());
        }
        return oneMap;
    }
    
	public static String readJson(File file, String encoding) {
    	  try {
    		InputStream is=new InputStream(file);
                BufferedReader br = new BufferedReader(new InputStreamReader(is, encoding));
                StringBuffer sb = new StringBuffer();
                String line;
               while((line = br.readLine()) != null) {
                 sb.append(line);
                 sb.append("\n");
            }
           br.close();
           return sb.toString();
        } catch (Exception e) {
           e.printStackTrace();
          return null;
      }
    }
}

**

注意:在服务器其上要读取resource里面文件是ResourceUtils报错,使用 getClassLoader()方法去获取。

private static String json;
public static String  getInfo(){
    try {
        InputStream stream = VerifyMapInfoUtil.class.getClassLoader().getResourceAsStream("json/json.json");
        json = FileUtil.readText(stream, "UTF-8");
    } catch (Exception e) {
        e.printStackTrace();
    }
    return json;
}

public static String readText(InputStream is, String encoding) {
    try {
        BufferedReader br = new BufferedReader(new InputStreamReader(is, encoding));
        StringBuffer sb = new StringBuffer();

        String line;
        while((line = br.readLine()) != null) {
            sb.append(line);
            sb.append("\n");
        }

        br.close();
        return sb.toString();
    } catch (Exception var5) {
        var5.printStackTrace();
        return null;
    }
}

VerifyMapInfoUtil.class.getClassLoader().getResourceAsStream(“json/json.json”);
等于
getClass().getClassLoader().getResourceAsStream(“json/json.json”);

**

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值