所以我有这个字符串,例如
"B\z@b@s@rB{FpMgBrD~DK|"
但是春天在json上制作了这个:
"B\\z@b@s@rB{FpMgBrD~DK|"
对于任何具有反斜杠\
的字符串,它都是一样的。在生成json之前替换字符是没用的,因为在生成json之前String是正确的。
每个使用该服务的客户端都可以.replace(“\\”,“\\\\”)json,但我想知道是否有更简洁的方法来解决问题并在服务器端。
以下是WS的代码:
@RequestMapping(value = "/rest/sinc/{ms}", method = RequestMethod.GET, produces="application/json;charset=UTF-8")
@ResponseBody
public String sincronizar(@PathVariable("ms") Long ms) {
return sincService.getSinc(ms).toString();
}
我已尝试过其他方法来生成像Gson这样的库的json,但结果是一样的。
答案 0 :(得分:2)
这是JSON中的预期行为。 \
需要转义。请参阅规范here。
所有Unicode字符都可以放在引号内, 除必须转义的字符外:引号, 反向固相线和控制字符(U + 0000到U + 001F)。