Json com subniveis

3 respostas
andreacerqueira
estou tentando montar um json pra usar com o week calendar em jquery, mas não está rolando. estou fazendo isso:
List<JSONObject> eventos = new ArrayList<JSONObject>();
	String sql = "SELECT * FROM agenda WHERE start >= '" + start + "' AND start <= '" + end + "'";
	PreparedStatement stmt = this.connection.prepareStatement(sql);
        ResultSet rs = stmt.executeQuery();

            while (rs.next()) {
            	// criando o objeto json
            	JSONObject obj = new JSONObject();
            	obj.put("id", rs.getLong("id"));
            	obj.put("title", rs.getString("title"));
            	obj.put("body", rs.getString("body"));
            	obj.put("start", rs.getString("start"));
            	obj.put("end", rs.getString("end"));
            	obj.put("user_id", rs.getLong("user_id"));
            	obj.put("pupil_id", rs.getLong("pupil_id"));
            	eventos.add(obj);
            }
                        
            JSONObject objeto = new JSONObject();
            objeto.put("events", eventos);
            
            rs.close();
            stmt.close();
            return objeto;

isso me retorna isso:
events=[{"id":1,"title":"vai","body":"kkdf lhdgdkj hfflkjgh flkjgh lfhglkjhlsk lfghj ljhgflhglghlj.","start":"2012-07-12 09:00:00.0","end":"2012-07-12 10:30:00.0","user_id":1,"pupil_id":2},{"id":2,"title":"dfgdsfgfd","body":"dfv","start":"2012-07-11 10:00:00.0","end":"2012-07-11 15:30:00.0","user_id":1,"pupil_id":1}]

e deveria retornar isso:
{"events": [{"id":1,"title":"vai","body":"kkdf lhdgdkj hfflkjgh flkjgh lfhglkjhlsk lfghj ljhgflhglghlj.","start":"2012-07-12 09:00:00.0","end":"2012-07-12 10:30:00.0","user_id":1,"pupil_id":2},{"id":2,"title":"dfgdsfgfd","body":"dfv","start":"2012-07-11 10:00:00.0","end":"2012-07-11 15:30:00.0","user_id":1,"pupil_id":1}]}

como faço pra ter todo o objeto json dentro de events?

obrigado

3 Respostas

K

Não sei se entendi direito…
O segundo JSON me parece correto, visto que o primeiro está errado:

events = [… está errado.

O segundo JSON tem uma chave “events” que é o seu array. Dessa forma, você acessa os “events” com: objetoJson.events

K

Será que ao invés de uma List você não deveria utilizar um:
JSONArray eventos = new JSONArray();
?

andreacerqueira

era isso mesmo kael.
JSONArray eventos = new JSONArray();

meu problema agora é retornar isso usando spring, tô meio perdida ainda, vou continuar procurando.

vlw, brigadão…

Criado 19 de julho de 2012
Ultima resposta 20 de jul. de 2012
Respostas 3
Participantes 2