我寫這樣我的春節,REST服務:JSON響應具有反斜槓字符
@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);
}
我得到這樣的輸出在客戶端基本上是一個字符串:
"{\"name\":\"Tom Joe\",\"id\":\"100\",\"dept\":\"nuclear energy\"}"
但我需要的輸出是:
{
"name":"Tom Joe",
"id":"t100",
"dept":"nuclear energy"
}
誰能告訴我如何避免發送和反斜槓反而發送適當的json?我能否做到這一點返回地圖?
我會嘗試生產= MediaType.APPLICATION_JSON,而MIME類型APPLICATION_JSON_VALUE給你一個字符串轉換。 – Tim
@Tim那不會編譯。 MediaType.APPLICATION_JSON是一個MediaType值。 'produce'期望'String []'。 –
不知道爲什麼我的下面的答案是downvoted,但代碼似乎工作正常..我會檢查您使用的客戶端,如果它是一個Java客戶端它可能會將轉義字符添加到響應時顯示它。 – Pete