java用原生方法读取resource目录下的json
时间: 2024-02-23 07:01:06 浏览: 24
可以使用以下代码读取resource目录下的json文件:
```java
import java.io.InputStream;
import java.util.Scanner;
public class ReadJsonFromResource {
public static void main(String[] args) {
InputStream inputStream = ReadJsonFromResource.class.getResourceAsStream("/data.json");
String jsonString = new Scanner(inputStream,"UTF-8").useDelimiter("\\A").next();
System.out.println(jsonString);
}
}
```
其中,`getResourceAsStream`方法可以获取resource目录下的文件输入流,使用`Scanner`类可以将输入流转换为字符串。以上代码假设json文件名为"data.json",如果文件名不同,需要相应修改。
相关问题
java1.8用原生方法读取resource目录下的json
在Java 1.8中,你可以使用以下代码来读取resource目录下的JSON文件:
```java
import java.io.InputStream;
import java.nio.charset.StandardCharsets;
import org.apache.commons.io.IOUtils;
public class JsonReader {
public static void main(String[] args) {
String fileName = "example.json";
InputStream inputStream = JsonReader.class.getResourceAsStream("/" + fileName);
try {
String json = IOUtils.toString(inputStream, StandardCharsets.UTF_8);
System.out.println(json);
} catch (Exception e) {
e.printStackTrace();
}
}
}
```
这个例子中,我们首先定义了一个文件名`example.json`,该文件应该位于`src/main/resources`目录下。然后我们使用`getResourceAsStream`方法从resource目录中获取文件的InputStream。接下来,我们使用Apache Commons IO库的`IOUtils.toString`方法将InputStream转换为UTF-8编码的字符串。最后,我们将字符串打印到控制台上。
需要注意的是,`getResourceAsStream`方法的参数应该是以`/`开头的文件路径,这表示在classpath根目录下查找文件。如果你的文件在`src/main/resources/data`目录下,你应该使用`/data/example.json`来获取文件的InputStream。
另外,需要导入Apache Commons IO库的依赖:
```xml
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<version>2.8.0</version>
</dependency>
```
原生 Java 方法读取json文件
在 Java 中,可以使用如下方法读取 json 文件:
1. 使用 JSON-P 库:Java API for JSON Processing(JSON-P)是 Java EE 7 中的一个标准 API,可用于解析、生成和转换 JSON 数据。要使用 JSON-P,需要在项目中添加 jsonp-1.1.jar 库。
具体使用方法:
- 首先,创建一个 JsonReader 对象,并将其与要读取的 json 文件关联:
```
JsonReader reader = Json.createReader(new FileReader("file.json"));
```
- 然后,使用 readObject() 方法读取 json 文件中的数据,并将其存储在 JsonObject 中:
```
JsonObject jsonObject = reader.readObject();
```
- 最后,使用 getXXX() 方法从 JsonObject 中提取数据。例如,要获取名为 "name" 的属性的值,可以使用以下代码:
```
String name = jsonObject.getString("name");
```
2. 使用 Gson 库:Gson 是一个由 Google 开发的流行的 JSON 解析库,可用于将 JSON 数据转换为 Java 对象,也可将 Java 对象转换为 JSON 数据。要使用 Gson,需要在项目中添加 gson-2.8.6.jar 库。
具体使用方法:
- 首先,创建一个 Gson 对象:
```
Gson gson = new Gson();
```
- 然后,使用 fromJson() 方法将 json 数据转换为 Java 对象。例如,要将 json 数据转换为 Person 对象,可以使用以下代码