【问题标题】:Uncaught SyntaxError: Invalid or unexpected token when retrieving JSON stringified object from SQLite (Cordova)未捕获的 SyntaxError:从 SQLite (Cordova) 检索 JSON 字符串化对象时令牌无效或意外
【发布时间】:2017-11-30 23:08:30
【问题描述】:

(使用 SQLite 的 Ionic 3 应用)

我之前使用JSON.stringify() 将对象保存为字符串。 JSON 测试在 jsonlint 中有效。

当我使用简单的查询 SELECT * FROM kv WHERE key = 'user' 将其取出时,我收到此错误:

VM432:1 Uncaught SyntaxError: Invalid or unexpected token

控制台从这里开始显示:

我已经搜索了几天,试图找出可能导致这种情况的原因...我已经升级到 Ionic Native (3.12.1) 中的最新 SQLite 插件。我试图删除保存在此表中的所有其他项目 - 所以我确定这个特定的 user 对象是罪魁祸首。它很大,包含敏感数据,所以我无法在这里发布......

JSON.stringify() 不应该处理任何需要为要存储和检索的字符串进行的转义吗?

我应该检查那个 JSON 对象的奇数字符吗?还是考虑到错误的位置,问题似乎出在其他地方?

非常感谢任何提示!

【问题讨论】:

    标签: javascript sqlite cordova ionic2 ionic3


    【解决方案1】:

    JSON.stringify 无法更正字符串内容。尝试预处理非常简单的内容。

    问题出在其他地方——当然是 SQLite 插件——但最终你需要在你的 js 代码中处理它。

    【讨论】:

      【解决方案2】:

      原来数据集中有一个 '\u2028' unicode 字符,Javascript 不能很好地处理它。我不得不把这些清理干净。

      更多信息在这里:

      Javascript parse error on '\u2028' unicode characterenter link description here

      【讨论】:

        猜你喜欢
        • 2016-10-17
        • 2018-08-25
        • 1970-01-01
        • 2020-10-13
        • 2018-01-21
        • 1970-01-01
        • 2017-05-02
        • 2013-10-08
        • 1970-01-01
        相关资源
        最近更新 更多