JSP로 데이터베이스 쿼리에서 JSON 문자열을 생성하고 있지만 항상 인쇄 할 수없는 문자가 포함되어 있습니다. 왜 그런지 이해하지 못합니다!json 문자열에 28 개의 인쇄 할 수없는 문자가있는 이유는 무엇입니까?
String user = "username"; // set a username
String password = "password"; // set a password
Class.forName("org.firebirdsql.jdbc.FBDriver"); // JDBC for firebird a.k.a. Jaybird
String DB = "jdbc:firebirdsql://123.123.123.123:3050/C:\\db.fdb";
JSONArray obj=new JSONArray(); //Creating the json object
Connection connection = DriverManager.getConnection(DB, user, password);
Statement statement = connection.createStatement();
int i=0;
Class.forName("org.firebirdsql.jdbc.FBDriver"); // JDBC for firebird a.k.a. Jaybird
String query = "SELECT ses.sessionid, ses.datetime, ses.guid, ses.staffid FROM session ses ORDER by ses.datetime";
ResultSet resultset = statement.executeQuery(query);
while (resultset.next())
{
JSONObject j = new JSONObject();
j.put("SessionID", resultset.getString("sessionid"));
j.put("DateTime", resultset.getString("datetime"));
j.put("GUID", resultset.getString("guid"));
j.put("StaffID", resultset.getString("staffid"));
obj.add(i, j);
i++; // Counter for indexing the JSONArray
}
resultset.close();
statement.close();
connection.close();
그리고 이것은 내가 디스플레이에 PHP에서 사용하고있는 코드입니다 :
는 JSP는 JSON을 생산하는 아래 보여줍니다
echo '*'.$json.'*<br>';
echo strlen($json).'<br>';
$json = preg_replace('/[\x00-\x1F\x80-\xFF]/', '', $json);
echo '*'.$json.'*<br>';
echo strlen($json).'<br>';
:
* [{"SessionID":"850","DateTime":"2011-10-03 14:21:37.0","GUID":"51e71c19-ca13-4053-bd95-2addb5ba69f6","StaffID":"804"}] *
146
*[{"SessionID":"850","DateTime":"2011-10-03 14:21:37.0","GUID":"51e71c19-ca13-4053-bd95-2addb5ba69f6","StaffID":"804"}]*
118
28 개의 인쇄 할 수없는 문자의 차이 - 대부분 처음부터. 그들은 어떻게 거기에 가고 있으며 JSP에서 어떻게 제거 할 수 있습니까?
감사합니다.
응답 해 주셔서 감사합니다. 그렇게 많은 공백이 없으며 대부분은 내가 제어 할 수없는 "@page import"에서옵니다. 서블릿이 유일한 방법이기 때문에 모든 코드를 다시 작성해야합니다. – williamsdb
줄 바꿈을 포함하여'%>'와'<%'사이의 공백을 제거하십시오. 모든 코드를 다시 작성할 필요가 없습니다. 그냥'doGet()'메소드에 copypasting하는 것이 좋습니다. 'out'을'response.getWriter()'로 준비하면됩니다. Java 클래스 대신 JSP 파일에 Java 코드를 작성하는 것은 어쨌든 바람직하지 않습니다. 그냥 절대로하지 마십시오. http://stackoverflow.com/questions/3177733/how-to-avoid-java-code-in-jsp-files도 참조하십시오. – BalusC