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


JSON数据存储
9天前
956浏览
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);
   }
}
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
分享
微博
QQ
微信
回复
5天前
相关问题
HarmonyOS 首选项超长string存储失败
779浏览 • 1回复 待解决
HarmonyOS 用户首选项是线程安全
1070浏览 • 1回复 待解决
首选项存储问题,为什么会报错?
1113浏览 • 1回复 待解决
HarmonyOS TaskPool使用首选项报错
1335浏览 • 1回复 待解决
HarmonyOS 首选项报错数据报错
823浏览 • 1回复 待解决
HarmonyOS 首选项示例
719浏览 • 1回复 待解决
首选项preferences相关
836浏览 • 1回复 待解决
HarmonyOS 获取首选项取值方式
1003浏览 • 1回复 待解决
HarmonyOS 首选项回调失效
824浏览 • 1回复 待解决
HarmonyOS 模拟器使用首选项能力异常
825浏览 • 1回复 待解决