Die folgende Methode sendet eine JSON-Antwort. Auf der Empfängerseite bekomme ich jedoch ungültige Zeichen und UTF-8 dekodiert die Daten nicht. Was mache ich falsch?GSON sendet UTF-8 nicht
Antwort auf client = Datenausgabestrom
//Get the client request
clientRequest = new BufferedReader(new InputStreamReader(connectedClient.getInputStream())); //connectedclient = socket
//Start response object
responseToClient = new DataOutputStream(connectedClient.getOutputStream());
/**
* Sends a JSON response for an object
* @param objectToEncode
* @throws Exception
*/
private void sendJSONResponse(Object objectToEncode) throws Exception{
//Encode object into JSON
String jsonString = new Gson().toJson(objectToEncode);
// HTTP Header... Status code, last modified
responseToClient.writeBytes(HTTP_OK_STATUS_CODE);
responseToClient.writeBytes(CONTENT_TYPE_JSON);
responseToClient.writeBytes("Last-modified: "+ HelperMethods.now() +" \r\n");
responseToClient.writeBytes("\r\n");
// The HTTP content starts here
responseToClient.writeBytes(jsonString);
}
zu kodieren Was ist 'responseToClient'? Schreiben Sie Ihren HTTP-Code selbst? –
JA. Der HTTP-Code ist aufgeführt (auch responseToClient ist ein DataOutputStream –
@WilliamFalcon, ich habe ArrayList-Objekt, das viele chinesische und japanische Zeichen enthält, Wie kann ich sie mit GSON-Bibliothek serialisieren, durch übliche Mittel verliere ich diese Zeichen und **? ** –