求助,请问怎么使用HarmonyOS的用户首选项模块扩展支持JSON数据存储


JSON数据存储
2025-04-23 10:45:57
浏览
2
收藏 2
回答 1
待解决
回答 1
按赞同
/
按时间
hmyxd

可以在封装用户首选项功能时,通过将JSON对象转换为字符串来实现对JSON数据的存储,并在读取数据时再转换回JSON对象:

type ValueType = string | number | boolean;

class LocalStorage {
   private preference: preferences.Preferences;

   async put(key: string, value: ValueType | object) {
       if (typeof value === 'object') {
           value = JSON.stringify(value);
       }
       await this.preference.put(key, value);
       await this.preference.flush();
   }

   async getValue(key: string): Promise<ValueType> {
       let value = await this.preference.get(key, '') as string;
       if (isJsonObject(value)) {
           value = JSON.parse(value);
       }
       return Promise.resolve(value);
   }
}
分享
微博
QQ
微信
回复
2025-04-27 10:56:20
相关问题
HarmonyOS 首选项超长string存储失败
1024浏览 • 1回复 待解决
HarmonyOS 用户首选项是线程安全
1332浏览 • 1回复 待解决
首选项存储问题,为什么会报错?
1372浏览 • 1回复 待解决
HarmonyOS TaskPool使用首选项报错
1613浏览 • 1回复 待解决
HarmonyOS 首选项报错数据报错
1085浏览 • 1回复 待解决
HarmonyOS 首选项示例
972浏览 • 1回复 待解决
HarmonyOS 首选项无法读取Map类型数据
1005浏览 • 1回复 待解决
首选项preferences相关
1092浏览 • 1回复 待解决
HarmonyOS 获取首选项取值方式
1244浏览 • 1回复 待解决
HarmonyOS 首选项回调失效
1032浏览 • 1回复 待解决
HarmonyOS 模拟器使用首选项能力异常
1051浏览 • 1回复 待解决