我有一个servlet,它构建一个包含一个或多个文件路径的JSON字符串。
servlet生成的字符串:
{"files": "li_digitalized#C:\Users\FABIO~1.HAE\AppData\Local\Temp\fusion_capture\fscan184082140.7785773767018386[610713834376481050].JPEG"}
要构建路径,我使用java的File.separator,它在Windows上返回“\”。
要调用servlet,我使用JQuery的$ .ajax
$.ajax({
url: Scan.baseURL + 'twainServlet/?action=groupFiles',
dataType: 'json',
async: false,
success: function(data)
{...},
error: function(data)
{
alert(xhr.status);
alert(thrownError);
}
});
调用servlet后,我收到此错误:
Syntax error: Unexpected token U
我在此网站粘贴了我的JSON字符串:http://jsonviewer.stack.hu/ 我发现所有文件分隔符“\”都没有替换,所以我的路径变为
files :"li_digitalized#C:UsersFABIO~1.HAEAppDataLocalTempusion_capturescan184082140.7785773767018386[610713834376481050].JPEG"
有没有办法解决这个问题,而无需替换服务器端的所有文件分隔符? 如果我这样做,我的字符串工作...但我不想这样做。 是什么导致这个问题? 任何智能解决方案?
谢谢!
答案 0 :(得分:1)
\是转义字符。切换到路径中的/字符或使用\\。