ich mein Frühling REST-Service wie folgt geschrieben haben:JSON-Antwort von Spring REST hat Backslash Zeichen
@RequestMapping(value = "/{name}", method = RequestMethod.GET,
consumes = MediaType.APPLICATION_JSON_VALUE, produces = MediaType.APPLICATION_JSON_VALUE)
public ResponseEntity<Map<String, Object>>
getStudentByName(@PathVariable("name") String name) {
Map<String, Object> map = null;
try {
map = new HashMap<String, Object>();
map.put("name", "Tom Joe);
map.put("id", "t100");
map.put("dept", "nuclear energy");
} catch (Exception e) {
LOG.error("Error finding with name " + name, e);
}
return new ResponseEntity<Map<String, Object>>(map, HttpStatus.OK);
}
ich wie dies die Ausgabe auf der Client-Seite, die im Grunde eine einzelne Saite ist:
"{\"name\":\"Tom Joe\",\"id\":\"100\",\"dept\":\"nuclear energy\"}"
Aber meine gewünschte Ausgabe ist:
{
"name":"Tom Joe",
"id":"t100",
"dept":"nuclear energy"
}
mir jemand sagen kann, wie Schrägstriche zu vermeiden Senden und stattdessen schickst du json? Kann ich das nicht für die Rückgabe einer Karte tun?
Ich würde versuchen, produziert = MediaType.APPLICATION_JSON statt, der MIME-Typ APPLICATION_JSON_VALUE gibt Ihnen eine String-Konvertierung von diesem. – Tim
@Tim Das würde nicht kompilieren. 'MediaType.APPLICATION_JSON' ist ein' MediaType'-Wert. 'products' erwartet' String [] '. –
Ich bin mir nicht sicher, warum meine Antwort unten abgelehnt wurde, aber der Code scheint gut zu funktionieren. Ich würde prüfen, welchen Client du verwendest. Wenn es ein Java-Client ist, fügt er der Antwort möglicherweise die Escape-Zeichen hinzu. – Pete