我正在写一个休息api.All事情已经确定并且很好。 我的控制器:
@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);
}
当我在控制台上输出响应时,它将打印正常的字符串,如 -
[{"name": "abc","vendor": "abc df"}]
但是我得到了额外斜线的respnse。所有双引号都替换为\&#34;。
"[{\"name\":\"abc\",\"vendor\":\"abc df\"}]"
请帮忙!提前谢谢。
答案 0 :(得分:0)
这是预期的,因此可以在以后重建对象。 &#34; \&#34;逃避报价。你可以替换&#34; \&#34;用空字符串:
@ResponseBody
public String getDetails(@RequestBody String jsonInput) {
LOGGER.info("<------------------------ from Date :" + jsonInput );
System.out.println("resp ="+apiService.getBillingDetails(jsonInput));
return apiService.getDetails(jsonInput).replace("\\", "");
}
答案 1 :(得分:0)
使用
AppCenter.Start($"android={Settings.Current.AppCenterAnalyticsAndroid};" +
typeof(Analytics), typeof(Crashes));
这应该删除所有不必要的转义字符。
答案 2 :(得分:0)
我最近遇到了同一问题。我尝试修复了很长时间,终于找到了解决方法以及我做错了什么。 我当时正在使用Jackson库来构造多个json字符串,并将其存储到列表中。
当我尝试将jsonList这样返回给控制器时,尽管在控制台打印时我没有遇到这个问题,但是我的输出用双引号和反斜杠显示在邮递员API上。
当我尝试将列表作为字符串返回给控制器时,解决了我的问题。
jsonString = frameJsonKeyValuePair(header, dataList);
if (jsonString != null)
jsonStringList.add(jsonString);
}
return jsonStringList.toString();