Я пытаюсь создать объект входящего JSON в Java.
public class GetContacts extends HttpServlet {
public void doGet(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException{
try{
String list = req.getParameter("list");
String profileId = "27";
//Accessing driver from the JAR file
Class.forName ("com.mysql.jdbc.Driver").newInstance();
//Connect to Clockie's database
Connection con = DriverManager.getConnection ("jdbc:mysql://localhost:3306/cdatabase", "root", "root");
//Here we create our query
String sql =
"SELECT * " +
"FROM messages " +
"WHERE profileId = ?";
PreparedStatement statement = con.prepareStatement(sql);
statement.setString(1, profileId);
ResultSet result = statement.executeQuery();
JSONArray messages = new JSONArray();
while(result.next()){
JSONObject message = new JSONObject();
message.put("to", result.getString("to"));
message.put("from", result.getString("from"));
message.put("message", result.getString("message"));
message.put("profileId", profileId);
messages.put(message);
}
System.out.println(messages.toString());
resp.setContentType("text/javascript");
PrintWriter out = resp.getWriter();
String output = req.getParameter("callback") + "(" + messages.toString() + ");";
out.write(output);
out.close();
}
catch(Exception e){
e.printStackTrace();
}
}
}
Но я получил следующее сообщение об ошибке:
Сообщения локальной переменной не были инициализированы
Что я сделал не так?
Используемые мной классы JSON являются исходными в http://www.json.org/java/
Кстати, я использую Eclipse в качестве своей IDE
Хорошо, думаю, я нашел проблему.Библиотека JSON, которую я добавил, вызвала ошибку при попытке экспортировать файл Jar.И ошибка появилась в классе JSONArray.Как экспортировать библиотеку JSON в файлы JAR в Eclipse?
Вот как я это сделал и получил некоторое предупреждение (предупреждение было в классе JSONArray):
Ok created a new project and right click -> export -> choose Jar Files (under java folder) -> marked both .classpath and .project in the right rectangle -> I selected a random destination folder with the filname org.json.jar. When I did this i got some warnings
Не берите в голову место проблемы.Я попытался определить вместо переменных сообщений переменную messagesss
как объект JSONArray.Я все еще получил ту же ошибку с message
не messagessss
.Но как я могу исправить эту проблему?
Java-класс находится в пакете с названием messages, это проблема?