Hi,
ich wollte mal als Übung ein Programm schreiben, dass sich auf einer Seite einloggt.
Nachdem ich das erste Paket übermittelt habe, bekomme ich vom Server als Antwort folgendes Paket:
Nun weiss ich, dass die Zeichenfolge ein JSON Objekt ist, weiss aber nicht, wie ich gezielt diesen teil umwandeln kann, so dass dieser lesbar wird.
Der zuständige Code sieht so aus:
Wie man sieht habe ich für die Umwandlung diese API versucht: org.json
Wie gesagt, die ganze Nachricht umzuwandeln wäre kein Problem, aber wie erkenne ich gezielt welcher Teil in JSON ist?
ich wollte mal als Übung ein Programm schreiben, dass sich auf einer Seite einloggt.
Nachdem ich das erste Paket übermittelt habe, bekomme ich vom Server als Antwort folgendes Paket:
Code:
HTTP/1.1 200 OK
P3P: CP="NOI ADM DEV PSAi COM NAV OUR OTRo STP IND DEM"
Content-type: application/json
Content-Encoding: gzip
Vary: Accept-Encoding
Transfer-Encoding: chunked
Date: Wed, 25 Sep 2013 14:42:16 GMT
Server: lighttpd/1.4.28
*komische Zeichenfolge*
Nun weiss ich, dass die Zeichenfolge ein JSON Objekt ist, weiss aber nicht, wie ich gezielt diesen teil umwandeln kann, so dass dieser lesbar wird.
Der zuständige Code sieht so aus:
Java:
private static String leseNachricht(java.net.Socket socket) throws IOException {
BufferedReader reader = new BufferedReader(new InputStreamReader(socket.getInputStream()));
char[] buffer = new char[1000];
int anzahlZeichen = reader.read(buffer, 0, 1000);
String nachricht = new String(buffer, 0, anzahlZeichen);
return nachricht;
//Diese Methode unglaublich langsam?
// StringBuffer buffer = new StringBuffer();
// for (String line = null; (line = reader.readLine()) != null;) {
// buffer.append(line).append("\n");
// }
// return buffer.toString();
//JSONTokener tokener = new JSONTokener(buffer.toString());
//JSONArray finalResult = new JSONArray(tokener);
}
Wie man sieht habe ich für die Umwandlung diese API versucht: org.json
Wie gesagt, die ganze Nachricht umzuwandeln wäre kein Problem, aber wie erkenne ich gezielt welcher Teil in JSON ist?