【发布时间】:2020-03-10 18:06:42
【问题描述】:
我一直致力于将 MYSQL 表值转换为 JSON 。我的表有以下列
entry_time timestamp。以下对于数据的转换效果很好,但是在将数据转换为 JSON 时,我在转换为 JSON 后具有以下值
public String convertTableDatatoJSON(String tableNAME) throws SQLException {
String tableName = tableNAME;
Connection connection = createConnection();
JSONArray array = new JSONArray();
JSONObject jsonObject = new JSONObject();
List<String> columns = loadColumns(connection, tableName);
ResultSet dataSet = loadData(connection, tableName);
while (dataSet.next()) {
JSONObject record = new JSONObject();
for (String column : columns) {
record.put(column, dataSet.getObject(column));
}
array.add(record);
}
jsonObject.put(tableName, array);
try {
FileWriter file = new FileWriter("src/main/resources/JSONdata/" + tableName + ".json");
file.write(jsonObject.toJSONString());
file.close();
} catch (IOException e) {
e.printStackTrace();
}
return "Data from table " + tableNAME + " is converted to JSON successfully. ";
}
实际结果:“entry_time”:0000-00-00 00:00:00
预期结果:“entry_time”:“0000-00-00 00:00:00”
我只是想在将表数据转换为具有 timestamp 数据类型为 JSON 的列时放置逗号。
【问题讨论】:
-
你试过这样做吗? ``record.put(column, dataSet.getObject(column)).toString();``
-
@OMiShah 这在我的情况下也不起作用。通过错误 java.lang.NullPointerException: null 尝试您的建议
-
在列表中保存数据时,添加("\" "+data+" \"")
-
@RaoWaqasAkram 抱歉,出现错误尝试
record.put(column, dataSet.getObject(column).toString()); -
@OMiShah 我也试过这个。但没用。请查看此问题的已接受答案。