fastjson读取json文件
时间: 2023-10-04 20:04:17 浏览: 82
可以使用以下代码实现fastjson读取json文件:
```
import com.alibaba.fastjson.JSONObject;
import com.alibaba.fastjson.JSON;
// 读取json文件,返回json对象
public JSONObject readJsonFile(String fileName) {
String jsonString = FileUtils.readFileToString(new File(fileName), StandardCharsets.UTF_8);
JSONObject jsonObject = JSON.parseObject(jsonString);
return jsonObject;
}
```
其中,FileUtils是读取文件的工具类,jsonString是文件内容的字符串形式,JSON.parseObject()方法将字符串转化为json对象。
相关问题
在jdk1.8 fastjson读取json文件
的方法是什么?
您好!可以使用以下代码读取json文件:
```
import com.alibaba.fastjson.JSON;
import java.io.*;
public class TestJson {
public static void main(String[] args) throws IOException {
String fileName = "test.json"; // json文件名
File file = new File(fileName);
BufferedReader reader = null;
String jsonStr = "";
reader = new BufferedReader(new FileReader(file));
String tempString = null;
while ((tempString = reader.readLine()) != null) {
jsonStr += tempString;
}
reader.close();
// 解析读取的json字符串
Object obj = JSON.parse(jsonStr);
// 处理业务逻辑
// ...
}
}
```
希望能对您有所帮助!
fastjson读取json文件并存入mysql
Fastjson是一个由阿里巴巴开发的高性能功能完备的JSON库,它在中国非常流行,用于将JSON数据序列化和反序列化到Java对象之间。如果你想用Fastjson从JSON文件读取数据,并将其存储到MySQL数据库中,可以按照以下步骤操作:
1. **引入依赖**:
首先,在项目中添加Fastjson和JDBC(连接MySQL)的依赖。如果你使用的是Maven,可以在pom.xml文件中加入以下依赖:
```xml
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.75</version> <!-- 最新版本 -->
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.26</version> <!-- MySQL最新驱动版本 -->
</dependency>
```
2. **解析JSON文件**:
使用Fastjson的`ObjectReader`类,你可以轻松地从JSON文件中读取数据。例如:
```java
String jsonString = Files.readString(Paths.get("path_to_your_json_file.json"));
JSONObject jsonObject = JSON.parseObject(jsonString);
```
3. **映射到Java对象**:
将JSON对象转换为对应的Java实体类,比如User类,假设有一个字段对应于数据库表的某个字段:
```java
User user = JSON.parseObject(jsonObject.toJSONString(), User.class);
```
4. **连接数据库**:
创建JDBC连接并执行SQL插入操作:
```java
Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/your_database", "username", "password");
PreparedStatement pstmt = conn.prepareStatement("INSERT INTO users (field1, field2) VALUES (?, ?)");
pstmt.setString(1, user.getField1());
pstmt.setString(2, user.getField2());
pstmt.executeUpdate();
```
5. **关闭资源**:
不忘记关闭连接、预编译语句等:
```java
pstmt.close();
conn.close();
```
阅读全文