{ "F_NUMBER": "", "VER": "", "BOM_DATA": [{ "COMPS": "", "burnDesc": "", }], "BOM_STATUS": "", "itemLines": [{ "item_number": "3.7.01.10.00212", "lifecyclephase": "Development", "rev_number": "03" }] }, "ECN_DATA": { "ecnBefore": "", "ecnAfter": "", "ecnSwitch": "", } "zxbz": "" }解析3分别存入数据表java代码
时间: 2023-08-11 07:03:03 浏览: 36
以下是 Java 代码示例,用于将给定的 JSON 数据解析为三个数据表:
```java
import java.sql.*;
import org.json.*;
public class JsonParser {
private Connection conn;
public JsonParser(Connection conn) {
this.conn = conn;
}
public void parseJson(String json) throws JSONException, SQLException {
JSONObject obj = new JSONObject(json);
// 解析 BOM_DATA 表
JSONArray bomDataArr = obj.getJSONArray("BOM_DATA");
PreparedStatement bomDataStmt = conn.prepareStatement("INSERT INTO BOM_DATA (COMPS, burnDesc) VALUES (?, ?)");
for (int i = 0; i < bomDataArr.length(); i++) {
JSONObject bomDataObj = bomDataArr.getJSONObject(i);
String comps = bomDataObj.getString("COMPS");
String burnDesc = bomDataObj.getString("burnDesc");
bomDataStmt.setString(1, comps);
bomDataStmt.setString(2, burnDesc);
bomDataStmt.executeUpdate();
}
// 解析 itemLines 表
JSONArray itemLinesArr = obj.getJSONArray("itemLines");
PreparedStatement itemLinesStmt = conn.prepareStatement("INSERT INTO itemLines (item_number, lifecyclephase, rev_number) VALUES (?, ?, ?)");
for (int i = 0; i < itemLinesArr.length(); i++) {
JSONObject itemLinesObj = itemLinesArr.getJSONObject(i);
String item_number = itemLinesObj.getString("item_number");
String lifecyclephase = itemLinesObj.getString("lifecyclephase");
String rev_number = itemLinesObj.getString("rev_number");
itemLinesStmt.setString(1, item_number);
itemLinesStmt.setString(2, lifecyclephase);
itemLinesStmt.setString(3, rev_number);
itemLinesStmt.executeUpdate();
}
// 解析 ECN_DATA 表
JSONObject ecnDataObj = obj.getJSONObject("ECN_DATA");
String ecnBefore = ecnDataObj.getString("ecnBefore");
String ecnAfter = ecnDataObj.getString("ecnAfter");
String ecnSwitch = ecnDataObj.getString("ecnSwitch");
PreparedStatement ecnDataStmt = conn.prepareStatement("INSERT INTO ECN_DATA (ecnBefore, ecnAfter, ecnSwitch) VALUES (?, ?, ?)");
ecnDataStmt.setString(1, ecnBefore);
ecnDataStmt.setString(2, ecnAfter);
ecnDataStmt.setString(3, ecnSwitch);
ecnDataStmt.executeUpdate();
}
}
```
需要注意的是,在此示例中,使用了预编译的 SQL 语句和 JDBC 的执行更新语句方法。为了简化代码,省略了异常处理和资源释放等步骤。实际应用中,需要根据具体情况进行完善。
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)