【问题标题】:SCRIPT1014: Invalid characterSCRIPT1014:无效字符
【发布时间】:2012-04-13 10:10:15
【问题描述】:

我有一些 JSON 在使用 jsonlint 测试时非常完美,但是当我尝试将其解析为对象时会出现 Invalid character 错误。我查看了 JSON 字符串,似乎没问题。如何查看可能隐藏的有趣角色?

这里是 js fiddle 链接。 http://jsfiddle.net/UexKp/

【问题讨论】:

    标签: javascript json validation character-encoding jsonlint


    【解决方案1】:

    这可能不是您确切遇到的问题,但我通过指定应将响应类型解释为 json 来修复我的 ajax 调用(当然仅在 Internet Explorer 中)返回的 JSON 中的类似错误,而不是文字。由于我使用的是 jQuery,因此需要将 ajax 选项中的 dataType 参数设置为“text json”,从而将响应从文本(如 IE 所见)适当地转换为 JSON。

    如果这对您不起作用,您还可以尝试直接更改来自服务器的响应类型,假设您可以访问它,以便它正确报告返回的响应是 JSON,而不是文本。

    【讨论】:

      【解决方案2】:

      您可以使用 Fiddler (http://www.fiddler2.com/fiddler2/) 之类的调试代理,然后检查 JSON-Request 的原始数据以查看响应中是否有一些不需要的字符。

      【讨论】:

        【解决方案3】:

        JSON 没有问题:http://jsfiddle.net/UexKp/2/

        {} 在可以被视为块时不被视为对象文字,因此例如通过变量赋值来解决它。你也可以用() 包装它,如fiddle /1 所示

        【讨论】:

        • 我认为他得到的是 JSON,而不是 JS-Object。这只是一个使用 JSON.parse() 等工具解析为 JS 对象的字符串
        • @MichaelSandino 然后他应该粘贴他得到的任何东西......除了 jsfiddle 之外没有其他东西可以使用,它在使其成为表达式后工作得很好。
        猜你喜欢
        • 1970-01-01
        • 2018-11-09
        • 1970-01-01
        • 2020-05-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多