繁体   English   中英

返回字符串时,它会在字符串中添加额外的斜杠

[英]While returning the string it adds extra slash to the string

我正在编写一个REST 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"}]

但是我得到了额外的斜线。 所有双引号均替换为\\“。

"[{\"name\":\"abc\",\"vendor\":\"abc df\"}]"

请帮忙 !。 提前致谢。

这是预料之中的,因此以后可以重建对象。 “ \\”转引号。 您可以将“ \\”替换为空字符串:

@ResponseBody
public String getDetails(@RequestBody String jsonInput) {
    LOGGER.info("<------------------------ from Date   :" + jsonInput );
    System.out.println("resp ="+apiService.getBillingDetails(jsonInput));
    return apiService.getDetails(jsonInput).replace("\\", "");

}

采用

string ResponseString = Regex.Unescape(oldString);

这应该删除所有不必要的转义字符。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM