2016-06-19 1 views
0

私はpostgresデータベースを使用しています。実際のクエリはJson形式で返されるようになり、その表示方法はわかりません。あなたは、私はJSON形式に変換し、ブラウザ上でそれを表示し、その後、私のクエリを行うだろう見ることができるように例えば、私はこのJava JDBC既にJson形式の結果を表示するには

org.json.JSONObject jo = null; 
    org.json.JSONArray ja = new org.json.JSONArray(); 

String myquery = "select DISTINCT ON(city,state)latitudes,longitudes,thirtylatmin,thirtylatmax,thirtylonmin,thirtylonmax,city,state from zips where city ilike 'Orl%' order by city,state,ziptype asc limit 10"; 
      conn = db.getConnection(); 


      ps = conn.prepareStatement(myquery); 
      rs = ps.executeQuery(); 

      while (rs.next()) { 
       jo = new org.json.JSONObject(); 
       jo.put("city", rs.getString("city")); 
       jo.put("state", rs.getString("state").trim()); 
       jo.put("latitudes", rs.getFloat("latitudes")); 
       jo.put("longitudes", rs.getFloat("longitudes")); 

       jo.put("thirtylatmin", rs.getFloat("thirtylatmin")); 

       jo.put("thirtylatmax", rs.getFloat("thirtylatmax")); 
       jo.put("thirtylonmin", rs.getFloat("thirtylonmin")); 
       jo.put("thirtylonmax", rs.getFloat("thirtylonmax")); 
       ja.put(jo); 
      } 
      org.json.JSONObject mainObj = new org.json.JSONObject(); 
      mainObj.put("location_update", ja); 


      String total = mainObj.toString(); 

      if (ps != null) { 
       ps.close(); 
      } 
      conn.close(); 
      return ok(total); 

を行うだろう前に。私のコードは、今私はそのクエリの結果がブラウザに戻るために得ることができる方法、JSONに変換する必要がないので、私のクエリは今JSON形式で返します。この

String myquery = "select json_build_object('Profile', array_to_json(array_agg(t))) from (select DISTINCT ON(city,state)latitudes,longitudes,thirtylatmin,thirtylatmax,thirtylonmin,thirtylonmax,city,state from zips where city ilike 'Orl%' order by city,state,ziptype asc limit 10)t"; 

       conn = db.getConnection(); 


       ps = conn.prepareStatement(myquery); 

       rs = ps.executeQuery(); 
String results=null; 
       while (rs.next()) { 

       } 



       String total = results.toString(); 
       // System.err.println(total); 
       return ok(total); 

のようなものです。私はJDBCが初めてで、私の他の質問は、私はJDBCがブロックしていることを知っていますが、処理できる秒あたりのリクエスト数には限界があります。私はさらに多くのCPUを追加し続けると仮定?

+0

JDBCは呼び出し元にオブジェクトを返す予定です。私はそれがブラウザではなくサーブレットまたはコントローラであると推測しています。データベースを照会するクラスは、HTTPレスポンスを作成し、そのタイプをJSONに設定してブラウザに返します。 HTMLページは、見た目に合ったJSONをレンダリングできます。 – duffymo

+0

http://stackoverflow.com/questions/11874919/parsing-json-string-in-java –

答えて

0

JDBCはJSONデータ型をサポートしていません。文字列として取得してください。

rs = ps.executeQuery(); 
String results=null; 
if (rs.next()) { 
    result = rs.getString(1); 
} 
String total = results.toString(); 
関連する問題