您的位置 首页 java

Java 读取本地 JSON 文件

在开发Elasticsearch的应用过程中,需要读取索引相关的JSON Settings、Mappings设置,将 json 文档存放到项目的resources 目录,然后读取并调用Elasticsearch API 执行。

POM依赖

<dependency>

<groupId>com.alibaba</groupId>

<artifactId>fastjson</artifactId>

<version>1.2.56</version>

</dependency>

读取JSON工具类

package com.fanxb.esdemo.util;

import java.io.*;

public class JsonUtil {

/**

* 读取json文件,返回json串

* @param fileName

* @return

*/

public static String readJsonFile(String fileName) {

String jsonStr = “”;

try {

File jsonFile = new File(fileName);

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);

}

reader.close();

jsonStr = sb.toString();

return jsonStr;

} catch (IOException e) {

e.printStackTrace();

return null;

}

}

}

编写单元测试

getResource(“”):这个方法可以用于查看当前目录。

this.getClass().getResource(“”)和this.getClass().getClassloader().getResource(“”) 区别?

第一个是类路径下(即 class 根目录);

第二个目录是 class目录里面当前类的包路径( package );

参考下图,推荐写法:

this.getClass().getClassLoader().getResource(“文件名.文件类型”)

单元测试方法,具体代码如下。

@Test

public void readJsonFile(){

String path = this.getClass().getClassLoader().getResource(“order_template.json”).getPath();

String jsonFile = JsonUtil.readJsonFile(path);

System.out.println(jsonFile);

}

order_template.json文件放入resources资源目录中,如下是输出结果。

文章来源:智云一二三科技

文章标题:Java 读取本地 JSON 文件

文章地址:https://www.zhihuclub.com/183686.shtml

关于作者: 智云科技

热门文章

发表回复

您的电子邮箱地址不会被公开。

网站地图