Java将MySQL数据写入json_Java实现将json中的数值插入到mysql中
有时从网上界面中获取的数值是json格式的,需要存储到mysql数据库中,这时可以利用java的代码实现
json的样例:
//保存的文件名称为test.json
{
"rows":[
{
"number": "001",
"name": "烟感",
"floor": "3",
"position": "3层南竖井",
"starttime":"2019-08-09 15:00:30"
},
{
"number": "002",
"name": "烟感",
"floor": "3",
"position": "3层南电梯厅",
"starttime":"2019-08-08 1:10:30"
}]
}
java代码如下,需要用到一个解析json的jar包,gson-2.8.0.jarpublic class TestJsonDateToMysql private static final String url = "jdbc:mysql://localhost:3306/sys?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=UTC";
private static final String user = "root";
private static final String password = "zsy0702";
private static Connection con;
static Connection getconnect()
{
try
{
Class.forName("com.mysql.cj.jdbc.Driver");
con = DriverManager.getConnection(url, user, password);
}
catch (ClassNotFoundException e)
{
e.printStackTrace();
}
catch (SQLException e)
{
e.printStackTrace();
}
return con;
}
public static void moreinsertdata(Connection con)//插入数据进入数据库中
{
JsonParser parser = new JsonParser() ;
JsonObject object;
try
{
object = (JsonObject) parser.parse(new FileReader("D:\\Java\\testdate.json"));
JsonArray array = object.get("rows").getAsJsonArray();
for(int i=0;i
{
JsonObject arrayObject = array.get(i).getAsJsonObject();
PreparedStatement psql = con.prepareStatement("insert into b_sim (number,name,floor,position,starttime)" + "values(?,?,?,?,?)");
psql.setInt(1, arrayObject.get("number").getAsInt());
psql.setString(2, arrayObject.get("name").getAsString().toString());
psql.setString(3, arrayObject.get("floor").getAsString().toString());
psql.setString(4, arrayObject.get("position").getAsString().toString());
//下面是关于json中出现时间格式的数值插入数据库的相关操作
String date = arrayObject.get("starttime").getAsString().toString();
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date myDate = dateFormat.parse(date);
Format format=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String str=format.format(myDate);
psql.setString(5, str);
psql.executeUpdate();
psql.close();
}
} catch (JsonIOException e1) {
e1.printStackTrace();
} catch (JsonSyntaxException e1) {
e1.printStackTrace();
} catch (FileNotFoundException e1) {
e1.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
} catch (ParseException e) {
e.printStackTrace();
}
}
public static void main(String[] args)
{
Connection con = TestJsonDateToMysql.getconnect();
moreinsertdata(con);
}
}
以上就是Java实现将json中的数值插入到mysql中的相关操作,仅供参考学习交流。