2012-03-13 15 views
2

私はこのlinkを参照していますが、私は少し私のアプローチを変更した。..JSONに結果セットされます。 jsonオブジェクトをどのように印刷できますか?

これは私が持っているコードです:

public JSONArray generateJSON(ResultSet rs) { 

     JSONArray respJSON = new JSONArray(); 

     try { 
      java.sql.ResultSetMetaData rsmd = rs.getMetaData(); 
      int numColumns = rsmd.getColumnCount(); 
      while (rs.next()) { 
       JSONObject obj = new JSONObject(); 
       for (int i = 1; i < numColumns + 1; i++) { 

        String columnName = rsmd.getColumnName(i); 
        if (rsmd.getColumnType(i) == java.sql.Types.ARRAY) { 
         obj.put(columnName, rs.getArray(i)); 
        } else if (rsmd.getColumnType(i) == java.sql.Types.BIGINT) { 
         obj.put(columnName, rs.getInt(i)); 
        } else if (rsmd.getColumnType(i) == java.sql.Types.BOOLEAN) { 
         obj.put(columnName, rs.getBoolean(i)); 
        } else if (rsmd.getColumnType(i) == java.sql.Types.BLOB) { 
         obj.put(columnName, rs.getBlob(i)); 
        } else if (rsmd.getColumnType(i) == java.sql.Types.DOUBLE) { 
         obj.put(columnName, rs.getDouble(i)); 
        } else if (rsmd.getColumnType(i) == java.sql.Types.FLOAT) { 
         obj.put(columnName, rs.getFloat(i)); 
        } else if (rsmd.getColumnType(i) == java.sql.Types.INTEGER) { 
         obj.put(columnName, rs.getInt(i)); 
        } else if (rsmd.getColumnType(i) == java.sql.Types.NVARCHAR) { 
         obj.put(columnName, rs.getNString(i)); 
        } else if (rsmd.getColumnType(i) == java.sql.Types.VARCHAR) { 
         obj.put(columnName, rs.getString(i)); 
        } else if (rsmd.getColumnType(i) == java.sql.Types.TINYINT) { 
         obj.put(columnName, rs.getInt(i)); 
        } else if (rsmd.getColumnType(i) == java.sql.Types.SMALLINT) { 
         obj.put(columnName, rs.getInt(i)); 
        } else if (rsmd.getColumnType(i) == java.sql.Types.DATE) { 
         obj.put(columnName, rs.getDate(i)); 
        } else if (rsmd.getColumnType(i) == java.sql.Types.TIMESTAMP) { 
         obj.put(columnName, rs.getTimestamp(i)); 
        } else { 
         obj.put(columnName, rs.getObject(i)); 
        } 

       } 
       respJSON.put(obj); 
       //respJSON.add(obj); 

      } 
     } catch (SQLException e) { 
      // TODO Auto-generated catch block 
      e.printStackTrace(); 
     } catch (JSONException e) { 
      // TODO Auto-generated catch block 
      e.printStackTrace(); 
     } 

     respJSON.toString(); 

     return respJSON; 

     System.out.print(respJSON.toString()); 
    } 

私の問題は、私はそれを見るためにJSON文字列を印刷することができないということですコンソールで...

私はrespJSON.toString()を試しました。それは動作しません..

私を助けてくれますか? ...

ありがとうございます

答えて

1

プログラムはprintステートメントに到達できないでください。 NetbeansまたはEclipseのようなIDEを使用していた場合は、明確な警告が表示されます。

2

これは簡単なタイプミスです。これに代えて:return文がその前にそこにあるよう

respJSON.toString(); 
    return respJSON; 
    System.out.print(respJSON.toString()); 

この

System.out.print(respJSON.toString()); 
    return respJSON; 
関連する問題