java json 存mysql_java解析json文件并保存到mysql数据库

一、数据是从“聚合数据”这个网站获取的,点我下载json文件,访问相应的地址,就返回很长的json格式的数据。因为不太了解json数据格式,我自己另外加了双引号(其实值的部分可以是数字类型的,不用引号)添加后如下图所示:

bec9e805ca37e0890d84b6d502484ca7.png

可以看出来数据是有很多行的,因为中间的部分格式比较统一,所以我再截个开头部分的图片吧,如下图所示:

2ad6fcf6a0c44f6b203d629d3c3a48d9.png

这个json文件的结构也不是很复杂,最外层的大括号(大括号表示对象)里面有四个键,分别是resultcode、reason、result、error_code,其中呢,我只关心result里面的数据,所以我要把result里面的省市县数据保存到数据库当中。

二、解析这个json文件数据需要4种jar包,分别是:

①“mysql数据库驱动jar包”

②“阿里巴巴数据库连接池druid驱动jar包”

③“JdbcTemplate相关jar包”

④“fastjson”

点击我下载所需jar包和druid的配置文件。

其中呢,druid配置文件需要你自己修改,如下图所示:

cf8ae09fdc3fa5959f1de97daceef3eb.png

三、另外还需要一个JDBCUtils这么一个工具类,没特殊需要的话,不用修改,代码如下:

package bao;

import com.alibaba.druid.pool.DruidDataSourceFactory;

import javax.sql.DataSource;

import java.io.IOException;

import java.sql.Connection;

import java.sql.ResultSet;

import java.sql.SQLException;

import java.sql.Statement;

import java.util.Properties;

/**

* Druid连接池的工具类

*/

public class JDBCUtils {

//1.定义成员变量 DataSource

private static DataSource ds ;

static{

try {

//1.加载配置文件

Properties pro = new Properties();

pro.load(JDBCUtils.class.getClassLoader().getResourceAsStream("druid.properties"));

//2.获取DataSource

ds = DruidDataSourceFactory.createDa

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,下面是Java读取MySQL数据库并将数据封装为JSON文件的代码示例: ```java import java.io.FileWriter; import java.io.IOException; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; import org.json.simple.JSONArray; import org.json.simple.JSONObject; public class MySQLToJson { public static void main(String[] args) { // MySQL数据库连接信息 String url = "jdbc:mysql://localhost:3306/dbname"; String user = "username"; String password = "password"; // JSON文件输出路径 String filePath = "output.json"; // SQL查询语句 String query = "SELECT * FROM tablename"; try { // 加载MySQL驱动程序 Class.forName("com.mysql.jdbc.Driver"); // 获取数据库连接 Connection conn = DriverManager.getConnection(url, user, password); // 创建Statement对象 Statement stmt = conn.createStatement(); // 执行查询 ResultSet rs = stmt.executeQuery(query); // 创建JSON数组对象 JSONArray jsonArray = new JSONArray(); // 遍历结果集 while (rs.next()) { // 创建JSON对象 JSONObject obj = new JSONObject(); // 将查询结果封装为JSON对象 obj.put("id", rs.getInt("id")); obj.put("name", rs.getString("name")); obj.put("age", rs.getInt("age")); // 将JSON对象添加到JSON数组中 jsonArray.add(obj); } // 将JSON数组输出到文件 FileWriter fileWriter = new FileWriter(filePath); fileWriter.write(jsonArray.toJSONString()); fileWriter.flush(); fileWriter.close(); // 关闭连接 rs.close(); stmt.close(); conn.close(); System.out.println("数据已成功转换为JSON格式并保存文件:" + filePath); } catch (ClassNotFoundException | SQLException | IOException e) { e.printStackTrace(); } } } ``` 这段代码会将MySQL数据库中 `dbname` 数据库中 `tablename` 表中的所有数据读取出来,封装成JSON格式,并保存到 `output.json` 文件中。你可以根据自己的需求修改代码中的数据库连接信息、SQL查询语句以及JSON文件输出路径。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值