HarmonyOS 鸿蒙Next 部分json格式的数据用JSON.parse进行转换时报错
HarmonyOS 鸿蒙Next 部分json格式的数据用JSON.parse进行转换时报错 报错内容为Unexpected Text in JSON
 改成 data.result as string
装上DevEco-Studio5.0才出现了这个问题,有什么解决办法吗?
我现在也没有解决这个问题🥲,
找HarmonyOS工作还需要会Flutter的哦,有需要Flutter教程的可以学学大地老师的教程,很不错,B站免费学的哦:BV1S4411E7LY/?p=17
现在能访问了,昨天网可能有些问题
我自己写了段代码试了下,请求"https://api.nmb.best/api/ref?id=50000061"会报错,请求"https://api.apiopen.top/api/sentences"不会
对于那些解析报错的json数据,如果不对其进行处理直接打印data.result的话,会得到一个这样的东西:
正常不报错的数据直接打印data.result会正常显示:
实在不理解…
希望有大佬能解答我的疑惑,感激不尽
这是我找到的能正常转换的:api.apiopen.top/api/sentences,然后将这个一改成:api.nmb.best/api/ref?id=50000061就不行了,这两个都是能直接访问的
需要看看详细的相关代码, 可能能进一步判断
感谢大佬回复,代码贴楼下了,很奇怪的是有的api能正常获取到数据并用JSON.parse
转换,但是有的就不行,明明都是能直接在浏览器上打开直接得到json格式的数据的。postman也是能正常得到数据的。
在HarmonyOS Next中,使用JSON.parse
进行JSON格式数据转换时,可能会遇到以下几种常见的报错原因:
-
JSON格式不规范:如果JSON字符串格式不符合标准,如缺少引号、逗号或括号不匹配,
JSON.parse
会抛出语法错误。 -
特殊字符未转义:JSON字符串中的特殊字符(如双引号、反斜杠等)未正确转义,会导致解析失败。
-
数据类型不支持:JSON标准支持的数据类型有限,如果包含不支持的类型(如函数、undefined等),
JSON.parse
无法处理。 -
编码问题:JSON字符串的编码不一致,可能导致解析失败。确保使用UTF-8编码。
-
JSON字符串包含BOM(字节顺序标记):BOM在某些情况下会导致解析错误,需移除BOM后再解析。
解决方法包括但不限于:
- 使用在线JSON验证工具检查JSON格式。
- 确保特殊字符正确转义。
- 移除不支持的数据类型。
- 统一使用UTF-8编码。
- 移除JSON字符串中的BOM标记。
以上是JSON.parse
在HarmonyOS Next中报错的常见原因和解决方法。