HarmonyOS Use explicit types instead of “any”, “unknown” (arkts-no-any-unknown) <ArkTSCheck>

// 递归遍历JSON对象并加密值
encryptJSONValues(obj: any, key: string): any {
  for (const prop in obj) {
    if (obj.hasOwnProperty(prop)) {
      if (typeof obj[prop] === 'object') {
        // 递归调用,处理嵌套对象
        obj[prop] = this.encryptJSONValues(obj[prop], key);
      } else {
        // 加密非对象类型的值
        obj[prop] = this.encryptAES128(obj[prop].toString(), key);
      }
    }
  }
  return obj;
}

应该怎么修改一下?

HarmonyOS
3天前
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
superinsect

提示显示,应该使用显式类型例如:Array、string 、number等数据类型,而不是“any”这些隐式类型,所以在 encryptJSONValues(obj: any, key: string)中obj应该传显示类型的数据:Array、string 、number等数据类型

示例参考如下:

encryptJSONValues(obj: Record<string, Object>, key: string){
  for (let i of Object.keys(obj)) {
    if (typeof obj[i] === 'object') {
      // 递归调用,处理嵌套对象
      obj[i] = this.encryptJSONValues(obj, key);
    } else {
      // 加密非对象类型的值
      obj[i] = this.encryptAES128(obj[i].toString(), key);
    }
  }
  return obj;
}
分享
微博
QQ
微信
回复
3天前
相关问题
HarmonyOS Use explicit types instead of "any"
964浏览 • 1回复 待解决
如何使用等效使用anyunknown?
1488浏览 • 1回复 待解决
为什么ArkTS中禁止使用any
1186浏览 • 1回复 待解决
HarmonyOS any类型的使用
309浏览 • 1回复 待解决
无法找到“riscv32-unknown-elf-gcc”。
13809浏览 • 2回复 待解决
mysql建表报错Unknown storage engine 'GsDB'
2496浏览 • 1回复 待解决
HarmonyOS ets文件如何使用any
65浏览 • 1回复 待解决
HarmonyOS any类型用什么替代
58浏览 • 1回复 待解决
clazz: new (...args: any[]) => T 无法使用
293浏览 • 1回复 待解决