Я пишу отдых api. Все вещи установлены и в порядке. Мой контроллер:Возвращая строку, она добавляет дополнительную косую черту в строку
@RequestMapping(value = "/getDetails", method = RequestMethod.POST, produces = MediaType.APPLICATION_JSON_VALUE)
@ResponseBody
public String getDetails(@RequestBody String jsonInput) {
LOGGER.info("<------------------------ from Date :" + jsonInput);
System.out.println("resp ="+apiService.getDetails(jsonInput));
return apiService.getDetails(jsonInput);
}
Когда я SYSOUT ответ на консоли он будет печатать обычную строку как -
[{"name": "abc","vendor": "abc df"}]
Но я получаю respnse с дополнительной косой черты. Все двойные кавычки заменяются \».
"[{\"name\":\"abc\",\"vendor\":\"abc df\"}]"
Пожалуйста, помогите!. Заранее спасибо.
Это ожидаемое поведение Параметр '\' экранирует специальные символы, чтобы они могли быть напечатаны досмотре 'Map()' объект может показать аналогичный результат –
я нашел более тонкий вопрос, http://stackoverflow.com/questions/3020094/how-should-i-es cape-strings-in-json –
Уже сделано это при преобразовании строки в объект в json Gson gson = new GsonBuilder(). disableHtmlEscaping(). create(); \t \t Строка jsonRes = gson.toJson (resp); – Samir