Входящий JSON-объект не может быть инициализирован? - PullRequest
0 голосов
/ 28 февраля 2011

Я пытаюсь создать объект входящего 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, это проблема?

1 Ответ

0 голосов
/ 28 февраля 2011

Если clean + build не может помочь, попробуйте обновить ваш проект или перезапустить IDE.Я копирую этот код в Eclipse, и никаких проблем нет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...