m***@qq.com
m***@qq.com
  • 发布:2022-10-12 10:19
  • 更新:2022-11-21 15:12
  • 阅读:1038

【报Bug】使用uni.setStorageSync存储特定格式的字符串,读取的时候会报错SyntaxError: Unexpected string in JSON at position 20

分类:uni-app

产品分类: uniapp/App

PC开发环境操作系统: Windows

PC开发环境操作系统版本号: win11专业版10.0.22000

HBuilderX类型: 正式

HBuilderX版本号: 3.6.4

手机系统: Android

手机系统版本号: Android 7.1.1

手机厂商: 模拟器

手机机型: 夜神模拟器

页面类型: vue

vue版本: vue2

打包方式: 云端

项目创建方式: HBuilderX

示例代码:
uni.setStorageSync('name', '江苏省通州区盛发科技园')  
console.log('name', uni.getStorageSync('name'));  

uni.setStorageSync('name', '江苏省南通市盛发科技园')  
console.log('name', uni.getStorageSync('name'));  

uni.setStorageSync('name', '商丘市睢阳区高辛镇前七武刘小学')  
console.log('name', uni.getStorageSync('name'));

操作步骤:
uni.setStorageSync('name', '江苏省通州区盛发科技园')  
console.log('name', uni.getStorageSync('name'));  

uni.setStorageSync('name', '江苏省南通市盛发科技园')  
console.log('name', uni.getStorageSync('name'));  

uni.setStorageSync('name', '商丘市睢阳区高辛镇前七武刘小学')  
console.log('name', uni.getStorageSync('name'));

预期结果:

正常返回存储的字符串

实际结果:

[Vue warn]: Error in onLoad hook: "SyntaxError: Unexpected token e in JSON at position 24"
SyntaxError: Unexpected token e in JSON at position 24

bug描述:

使用数据缓存存储字符串,读取的时候(APP)端会报错

uni.setStorageSync('name', '江苏省通州区盛发科技园')  
console.log('name', uni.getStorageSync('name'));

这种就会报错,示例中还举了几个例子,只要字符串里面加个别的字符就能正常读取,离奇的bug

2022-10-12 10:19 负责人:DCloud_IOS_XTY 分享
已邀请:

最佳回复

DCloud_Android_DQQ

DCloud_Android_DQQ

HBuilderX 3.6.8.20221027-alpha 问题已修复

DCloud_Android_DQQ

DCloud_Android_DQQ

尝试用夜神 也没复现问题。 能否提供一个示例

1208net

1208net

我也遇到这个问题了

DCloud_Android_DQQ

DCloud_Android_DQQ

我正在尝试复现这个问题。 方不方便留个QQ

1208net

1208net

这个问题相当严重,希望尽快核实解决。uni.getStorageSync() 存储的是长字符串的话比较容易复现

  • 1***@qq.com

    刚刚也遇到了这个问题,目前还不清楚是不是uni.getStorageSync() 这个方法是否已经不支持直接存字符串,我是把存储的值装到对象中再存,这样就不会报错了,如下:

    const data = { name: "张三" }

    uni.getStorageSync( 'info', data )

    2022-10-21 16:02

  • northDeng

    回复 1***@qq.com: 这样也会有问题,对象中存储的字符串可能包含特殊字符就会出现报错,ecode转一下就又好了,临时解决

    2022-11-07 12:56

有智慧的码农

有智慧的码农

这个问题特别严重,我已经换回3.5.3了

1208net

1208net

这个BUG 还没确认吗

  • 4***@qq.com

    先退回3.5.3用吧 说是3.6.8.alpha 修复了,那个版本也一堆bug

    2022-10-28 14:46

负韶华

负韶华

我编辑器是3.6.4 现在安卓也出现了这种问题 请问是不是一个情况 回退版本可以解决吗

该问题目前已经被锁定, 无法添加新回复