HarmonyOS 鸿蒙Next JSON.parse解析出错

HarmonyOS 鸿蒙Next JSON.parse解析出错

{ “data”: { “id”: “xxxx”, “region”: “xxxx”, “idNumber”: “1****************0”, “isVerified”: true, “name”: “**”, “phoneNum”: “xxx”, “auditstatus”: 1, “token”: “xxx”, “pCode”: null, “isPolice”: false, “policeUserID”: null, “policeUserPCode”: null, “registerRegionCode”: “140105”, “registerRegionName”: “xxx” }, “code”: 0, “msg”: “登录成功” }

以上是接口返回的数据我需要把这个串转化成 一个对象APIResult{data,code,msg }这样的结构对象,

把上面的字符串直接复制出来 放到demo里是没问题的,放在项目中就报错

message ="Unexpected Text in JSOol stack =at analyzeParamResult

代码如下:

let jsonAES: string = nativeHandMd.analyzeResult(encrypted) //接口返回的数据进行解密 let result = ${jsonAES}; jsonAES = result.replace(/[\r\n\s]/g, ‘’) // 去掉特殊字符 let resultJson: IAPIResult = JSON.parse(jsonAES); //TODO 这里转换 异常了


更多关于HarmonyOS 鸿蒙Next JSON.parse解析出错的实战教程也可以访问 https://www.itying.com/category-93-b0.html

2 回复
特殊字符 “\u0000” 过滤掉就行了 result.replace(/[\r\n\s\u0000]/g, ''))

更多关于HarmonyOS 鸿蒙Next JSON.parse解析出错的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


针对“HarmonyOS 鸿蒙Next JSON.parse解析出错”的问题,以下是一些可能的解决方案,专注于鸿蒙系统本身的特点,不涉及Java或C语言:

在鸿蒙系统中,如果JSON.parse函数解析出错,可能的原因包括但不限于:

  1. JSON格式错误:检查传入的JSON字符串是否符合JSON格式规范,如是否有遗漏的引号、逗号、花括号或方括号等。

  2. 字符编码问题:确保JSON字符串的字符编码与解析环境一致,避免因编码不一致导致的解析错误。

  3. 数据类型不匹配:如果JSON中包含了鸿蒙JavaScript环境不支持的数据类型(尽管这种情况较少),可能会导致解析失败。检查JSON数据中的类型是否与鸿蒙的JavaScript解析器兼容。

  4. 内存限制:对于非常大的JSON字符串,鸿蒙系统可能因内存限制而无法成功解析。尝试将大型JSON拆分成较小的部分进行解析。

  5. 系统或API问题:如果上述检查均无问题,可能是鸿蒙系统本身的bug或JSON.parse API的特定限制。此时,可以尝试更新鸿蒙系统版本或查找相关系统更新日志以获取更多信息。

如果问题依旧没法解决请联系官网客服,官网地址是:https://www.itying.com/category-93-b0.html

回到顶部