HarmonyOS 遇到JSON.stringify crash
下面是我们这边一处代码,计算obj对象hashcode,这里的obj就是Component,然后现在有部分情况下会crash
function getObjectHashCode(obj: object): number { 
  const str = JSON.stringify(obj); 
  let hash = 0; 
  for (let i = 0; i < str.length; i++) { 
    const character = str.charCodeAt(i); 
    hash = (hash << 5) - hash + character; 
    hash |= 0; // 将hash转换为32位整数 
  } 
  return hash; 
}
        HarmonyOS
      
        赞
        
 收藏 0
 回答 1
 
        待解决
        
相关问题
 HarmonyOS JSON.stringify(),循环调用内存上涨 
774浏览  • 1回复 待解决
HarmonyOS JSON.stringify一个hasmap的问题 
1111浏览  • 1回复 待解决
JSON.stringify输入多层数组不能正确输出 
1248浏览  • 1回复 待解决
HarmonyOS HashMap使用JSON.stringify()打印出来为{} 
834浏览  • 1回复 待解决
HarmonyOS使用JSON.stringify未能得到正确的json字符串数据 
1732浏览  • 1回复 待解决
HarmonyOS hilog 与 JSON.stringify(config.params,null,2)问题 
1091浏览  • 1回复 待解决
JSON.stringify(data)问题,为什么序列化后出现多的\\情况,怎么办 
1485浏览  • 1回复 已解决
#鸿蒙学习大百科#@ObservedV2的类实例目前支持使用JSON.stringify进行序列化吗? 
1303浏览  • 1回复 待解决
HarmonyOS @ObservedV2的类实例目前不支持使用JSON.stringify进行序列化,现在是否有替代方案 
1204浏览  • 1回复 待解决
HarmonyOS HasMap通过\u0008JSON.stringify()生成json字符串为‘{}’ 
1011浏览  • 1回复 待解决
HarmonyOS  JSON解析遇到表情或者特殊符号无法解析 
829浏览  • 1回复 待解决
HarmonyOS stringify是否支持对Map的解析 
1230浏览  • 1回复 待解决
HarmonyOS taskpool使用crash 
2829浏览  • 2回复 待解决
开发端云数据库是遇到 json组件不识别错误 
3950浏览  • 1回复 待解决
HarmonyOS ArkTSUtils.ASON.stringify是否支持输出map 
707浏览  • 1回复 待解决
HarmonyOS  类似h5中qs.stringify 
875浏览  • 1回复 待解决
如何实现crash堆栈抓取、crash回调 
3150浏览  • 1回复 待解决
HarmonyOS 关于crash问题 
1824浏览  • 1回复 待解决
HarmonyOS RN ScrollView scrollTo Crash 
1153浏览  • 1回复 待解决
HarmonyOS APP发生crash之后如何上传crash日志并重启应用 
2088浏览  • 1回复 待解决
HarmonyOS NavDestinationAttribute设置title crash 
943浏览  • 1回复 待解决
HarmonyOS RN相关界面crash 
984浏览  • 1回复 待解决
HarmonyOS FrameNode手势检测crash 
911浏览  • 1回复 待解决
HarmonyOS crash异常无法上报问题 
1318浏览  • 1回复 待解决





















使用json.stringify 如果对象中包含了循环引用或者无法被序列化的内容,如循环引用、函数等,就会导致json抛出异常
此外,由于对象的属性顺序是不固定的,因此在对对象进行 JSON 序列化时会导致具有相同属性,但顺序不同的对象得到不同的字符串表示,进而得到不同的哈希码,不同的对象也可能有相同的哈希值,这可能会导致一些情况下哈希码计算出错。
建议用其他的哈希算法来计算对象的哈希值,以避免依赖于 JSON 序列化过程中可能出现的问题
crypto-js的一些hash算法可参考https://gitee.com/openharmony-sig/crypto-js#https://gitee.com/link?target=https%3A%2F%2Fcryptojs.gitbook.io%2Fdocs%2F