存储json
- 发布:2024-03-07 15:08
- 更新:2024-05-13 17:33
- 阅读:882
产品分类: uniapp/App
PC开发环境操作系统: Mac
PC开发环境操作系统版本号: 12.7.3
HBuilderX类型: Alpha
HBuilderX版本号: 4.01
手机系统: Android
手机系统版本号: Android 12
手机厂商: 华为
手机机型: mate20
页面类型: vue
vue版本: vue2
打包方式: 云端
项目创建方式: HBuilderX
操作步骤:
预期结果:
正常读取
正常读取
实际结果:
读取异常
读取异常
bug描述:
使用uni.setStorageSync('myCollectList', this.collectList) 保存列表后,使用let s = uni.getStorageSync('myCollectList')获取列表,获取到的内容为 [{"dynamicJSONFields":{},"jSONArray":false},{"dynamicJSONFields":{},"jSONArray":false},{"dy...} ,获取不到正常内容。本地使用JSON转字符串再转回json可以正常工作,json格式没有问题。
5***@qq.com (作者)
附件是json,操作步骤是uni.setStorageSync保存json后,调用uni.navigateTo跳转到新页面, 之后在新页面的uni.getStorageSync读取,读出来就是上面的错误
onLaunch: function() {
console.log('App Launch')
const CustomModule = uni.requireNativePlugin("CustomModule");
let USER_TOKEN = CustomModule?.getUserToken();
console.log(`CustomModule~USER_TOKEN`, USER_TOKEN);
// mock
if(!USER_TOKEN) {
USER_TOKEN = '15';
}
uni.setStorageSync('USER_TOKEN', USER_TOKEN);
},
首次打包启动获取不了,关掉 app 再次打开可以
const USER_TOKEN = uni.getStorageSync('USER_TOKEN');
console.log(USER_TOKEN~getStorageSync
, USER_TOKEN);
5***@qq.com (作者)
我使用JSON.stringify转过了,本地使用JSON转字符串再转回json可以正常工作,json格式没有问题。我切换回3.99后正常存储读取,4.01版本不行。确认是bug
2024-03-08 08:54
HRK_01
回复 5***@qq.com: 能否提供一个简单复现的工程附件,我排查跟进一下
2024-03-11 19:54
5***@qq.com (作者)
回复 HRK_01: 上传了json的附件和操作步骤,你看下能复现不
2024-03-12 09:01