MySQL
からデータを取得しました。JDBC
を使用しています。すべてのデータをJSONArray
に保存してファイルに書きたいとします。誰か助けてくれますか?JDBCを使用してMySQLからデータを取得し、ファイルにJSONArrayとして保存する
I`mなって、次のエラー:コードで
"Exception in thread "main" org.json.JSONException: A JSONArray text must
start with '[' at 1 [character 2 line 1]"
は:
String sql = "SELECT * FROM quizQuestionAnswerGeneral, quizAnswerGeneral, quizQuestionGeneral "
+ "WHERE quizQuestionAnswerGeneral.idQuestion = quizQuestionGeneral.id "
+ "AND quizQuestionAnswerGeneral.idAnswer = quizAnswerGeneral.idAnswer;";
preparedStatement = connection.prepareStatement(sql);
ResultSet rs = preparedStatement.executeQuery(sql);
while (rs.next()) {
String id = rs.getString("id");
String idQuestion = rs.getString("idQuestion");
String answerText = rs.getString("answerText");
String correct = rs.getString("correct");
String questionText = rs.getString("questionText");
System.out.println("id: " + id);
System.out.println("idQuestion: " + idQuestion);
System.out.println("answerText: " + answerText);
System.out.println("correct: " + correct);
System.out.println("questionText: " + questionText);
System.out.println("*----------------------------------------*");
JsonObject obj = Json.createObjectBuilder()
.add("id", id)
.add("idQuestion", idQuestion)
.add("answerText", answerText)
.add("correct", correct)
.add("questionText", questionText)
.build();
String jArray = obj.toString();
JSONArray jsonArray = new JSONArray(jArray);
FileWriter file = new FileWriter("C:\\Users\\i5\\Desktop\\Json.txt");
while (jsonArray.iterator().hasNext()) {
file.write(jsonArray.toString());
}
System.out.println("Succes!");
file.flush();
file.close();
"obj"はオブジェクトの配列ではなく、配列に変換しようとしているオブジェクトです。 – dumitru