A haben einfache Java-Klasse, um mein Servlet zu testen. Es sendet JSON und empfängt Xml, ich vergleiche sie und bekomme immer nicht gleich, aber sie sollten gleich sein. Was könnte das Problem sein? Servlet sendet UTF-8. und string sieht gleich aus, sind aber nicht gleich.Vergleichen Strings Servlet Antwort
public static void main(String[] args) throws URISyntaxException,
HttpException {
HttpClient client = new DefaultHttpClient();
HttpPost post = new HttpPost("http://localhost:8080/converter/cs");
String expected = "<?xml version=\"1.0\" encoding=\"UTF-8\"?><sample><color type=\"string\">red</color></sample>";
try {
List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(1);
nameValuePairs.add(new BasicNameValuePair("json",
"{\"color\": \"red\"}"));
post.setEntity(new UrlEncodedFormEntity(nameValuePairs));
HttpResponse response = client.execute(post);
BufferedReader rd = new BufferedReader(new InputStreamReader(
response.getEntity().getContent()));
String line = "";
StringBuilder s = new StringBuilder();
while ((line = rd.readLine()) != null) {
System.out.println(line);
s.append(line);
}
System.out.println(s.length());
System.out.println(expected.length());
System.out.println(s.toString());
if (s.equals(expected)) {
System.out.println("equal");
} else
System.out.println("not equal");
} catch (IOException e) {
e.printStackTrace();
}
}
Wäre es nicht sinnvoll, nur über die tatsächlichen Charaktere zu gehen und zu sehen, wo Sie falsche Annahmen machen ?! –
if (s.toString(). Ist gleich (erwartet)). Also konstruiere zuerst einen String aus dem String-Puffer. Das Hinzufügen von toString() half. Sory für so dumme Frage, habe nicht für etwa 2 Wochen normal schlafen, versuchen, einen Job zu bekommen. – user1255246
@ user1255246 - Sie sollten die Antwort auf diese Frage – RonK