【发布时间】:2021-07-16 00:55:28
【问题描述】:
假设我有一个这样的 JSON:
{"name": "tom", "id":1, "clothes":[{"shirt":"yellow"},{"shoes":black},.......]}
我正在尝试使用 Java 将它按原样插入到 mysql DB 的列中。
void insertVal(JsonObject json){
Connection conn = null;
try {
conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/Orders?user=root", "root", "1234");
Statement st = conn.createStatement();
StringBuilder values = new StringBuilder("(");
for (String key : json.keySet()){
if (key.equals("clothes")){
//do something to deal with this array
break;
}
values.append(json.get(key)).append(",");
}
values.append(")");
String insert = "INSERT INTO ORDERS VALUES " + values;
st.executeUpdate(insert);
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
此代码在clothes 键之前工作正常。到目前为止,我已经尝试过使用JSON OBJECT 和JSON MERGE,但格式不太匹配,我现在不想解析。
那么,是否可以添加 clothes 或者我必须以某种方式解析它?如果是这样,哪种格式最有效?
非常感谢
【问题讨论】:
-
您可能需要澄清您的问题。我不知道你在问什么。你想为布料插入什么绳子?
-
抱歉不清楚。老实说,我不太介意 - 我认为最简单的是两个方括号之间的所有内容。
-
它是一个字符串,把它放在查询中,就像你对任何字符串一样,尽管准备和绑定参数可能会对你有所帮助
-
这不起作用 - Mysql 声称有语法问题,通过网络阅读,右括号和数组存在问题
-
请贴出错误信息,应该有插入查询