gpt4 book ai didi

java - 如何将 JSON 文档解析为数据库

转载 作者:可可西里 更新时间:2023-11-01 07:48:12 24 4
gpt4 key购买 nike

我有一个包含产品信息的 JSON 文档,我想解析该 JSON 文档并将其放入数据库。

示例 JSON 文档:

{
"itemize": {
"pr": "2583",

"n": "Chocolate donut",

"yst": "A beautiful, premium chocolate donut"

"wh": 2.99

}

这是我目前的代码:

import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.util.Iterator;
import org.json.simple.JSONArray;
import org.json.simple.JSONObject;
import org.json.simple.parser.JSONParser;
import org.json.simple.parser.ParseException;

public class q1 {
public static void addProduct()
{
JSONParser parser=new JSONParser();

try{

Object obj = parser.parse(new FileReader("c.\\itemize.json"));
JSONObject jsonObject = (JSONObject) obj;

String pr = (String) jsonObject.get("Pr");
//Put pr into database

String n = (String) jsonObject.get("n");
//Put n into database

String yst = (String) jsonObject.get("yst");
//Put yst into database

String wh = (String) jsonObject.get("wh");
//Put wh into database

}
}
}

数据库在 MySQL 中并且已经具有所有这些列。我只需要将 java 代码中的注释行替换为将字符串放入数据库的行。这是数据库的样子:

Pr VARCHAR(30) NOT NULL,
n VARCHAR(30) NOT NULL,
yst VARCHAR(30) NOT NULL,
wh VARCHAR(30) NOT NULL,
Primary Key (Product_ID));

最佳答案

用于访问数据库的 Java 接口(interface)是 Java 数据库连接 (JDBC)。使用 JDBC,您可以创建到数据库的连接、发出数据库查询和更新并接收结果。试试下面的代码

  private Connection connect = null;
PreparedStatement preparedStatement = null;

public int save() throws Exception {
int status = 0;
try {
// Load the MySQL driver, each DB has its own driver
Class.forName("com.mysql.jdbc.Driver");

// DB connection setup
connect = DriverManager.getConnection("jdbc:mysql://dbhost/database?" + "user=sqluser&password=sqluserpw");

// PreparedStatements
preparedStatement = connect
.prepareStatement("insert into Table_Name values (?, ?, ?, ? )");

Object obj = parser.parse(new FileReader("c.\\itemize.json"));
JSONObject jsonObject = (JSONObject) obj;

String pr = (String) jsonObject.get("Pr");
// Parameters start with 1
preparedStatement.setString(1, pr);

String n = (String) itemize.get("n");
preparedStatement.setString(2, n);

String yst = (String) jsonObject.get("yst");
preparedStatement.setString(3, yst);

String wh = (String) itemize.get("wh");
preparedStatement.setString(4, wh);

status = preparedStatement.executeUpdate();

} catch (Exception e) {
throw e;
} finally {
try {
if (connect != null) {
connect.close();
}

} catch (Exception e) {

}
}
return status;
}

关于java - 如何将 JSON 文档解析为数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20449484/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com