java如何读取json文件,使用Jackson
时间: 2024-05-06 13:16:53 浏览: 147
使用Jackson在Java中处理JSON
5星 · 资源好评率100%
使用Jackson读取JSON文件的步骤如下:
1. 引入Jackson库
在项目中引入Jackson库,如果是Maven项目可以在pom.xml文件中添加以下依赖:
```xml
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-core</artifactId>
<version>2.12.2</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.12.2</version>
</dependency>
```
2. 创建ObjectMapper对象
ObjectMapper是Jackson库中的一个类,用于将JSON字符串转换为Java对象或将Java对象转换为JSON字符串。
```java
ObjectMapper objectMapper = new ObjectMapper();
```
3. 读取JSON文件
使用ObjectMapper对象的readValue()方法读取JSON文件,该方法的第一个参数为JSON文件的InputStream对象,第二个参数为要转换成的Java对象的类型。
```java
File file = new File("example.json");
InputStream inputStream = new FileInputStream(file);
MyClass myClass = objectMapper.readValue(inputStream, MyClass.class);
```
其中MyClass为要转换成的Java对象的类型。
完整的读取JSON文件的示例代码如下:
```java
import com.fasterxml.jackson.databind.ObjectMapper;
import java.io.File;
import java.io.FileInputStream;
import java.io.InputStream;
public class JsonReader {
public static void main(String[] args) throws Exception {
ObjectMapper objectMapper = new ObjectMapper();
File file = new File("example.json");
InputStream inputStream = new FileInputStream(file);
MyClass myClass = objectMapper.readValue(inputStream, MyClass.class);
System.out.println(myClass);
}
}
class MyClass {
private String name;
private int age;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
@Override
public String toString() {
return "MyClass{" +
"name='" + name + '\'' +
", age=" + age +
'}';
}
}
```
其中example.json文件内容为:
```json
{
"name": "John",
"age": 30
}
```
输出结果为:
```
MyClass{name='John', age=30}
```
阅读全文