mardi 5 mai 2015

How to write SQL result to JSON

I have this java code that writes the first record of the SQL result set to output in JSON using Google GSON.

But when the result set has more than 1 record it throws exception as "JSON must have only one top-level value"

            HttpServletResponse httpres=response;
            httpres.setContentType("application/json; charset=UTF-8"); 
            httpres.setCharacterEncoding("UTF-8"); 
            JsonWriter writer = new JsonWriter(new OutputStreamWriter(httpres.getOutputStream(), "UTF-8"));
            while(rs.next()) { 
               writer.beginObject();
               // loop rs.getResultSetMetadata columns 
               for(int idx=1; idx<=rsmd.getColumnCount(); idx++) {
                 writer.name(rsmd.getColumnLabel(idx)); // write key:value pairs
                 writer.value(rs.getString(idx));
               } 
               writer.endObject();
            } 
            writer.close(); 
            httpres.getOutputStream().flush();

Aucun commentaire:

Enregistrer un commentaire