【问题标题】:Java Ajax JSON + file separator (path)Java Ajax JSON + 文件分隔符(路径)
【发布时间】:2014-02-19 22:05:39
【问题描述】:

我有一个 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"

有没有办法解决这个问题而不必替换服务器端的所有文件分隔符? 如果我这样做,我的字符串可以工作......但我不想这样做。 是什么导致了这个问题? 有什么智能解决方案?

谢谢!

【问题讨论】:

    标签: javascript jquery ajax json file


    【解决方案1】:

    \ 是转义字符。在路径中切换到 / 字符或使用 \\.

    【讨论】:

    • 我在写这个答案时实际上遇到了完全相同的问题。 #讽刺
    猜你喜欢
    • 2014-07-29
    • 2014-05-07
    • 2015-02-09
    • 1970-01-01
    • 1970-01-01
    • 2014-01-16
    • 2015-01-19
    • 1970-01-01
    相关资源
    最近更新 更多