HarmonyOS 鸿蒙Next 请求回来的数据到底是什么类型?不是对象,也不是字符串,也不是数组
HarmonyOS 鸿蒙Next 请求回来的数据到底是什么类型?不是对象,也不是字符串,也不是数组 请求回来的数据判断类型是object,赋值给对象类型的变量,却还是报错,赋值不了!有没有好心人教教我怎么写,才能展示键值在页面上
服务端返回的服务,需要使用第三方class-transformer的plainToClass转换一下
使用原因:https://developer.huawei.com/consumer/cn/blog/topic/03155225705890022
接口返回使用示例:https://developer.huawei.com/consumer/cn/blog/topic/03151854787432021
更多关于HarmonyOS 鸿蒙Next 请求回来的数据到底是什么类型?不是对象,也不是字符串,也不是数组的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
楼主您好,该问题需要demo代码进行分析,建议通过在线提单提交问题。
支持 - 在线提单 - 华为开发者联盟 (huawei.com)
贴出你的代码啊,不然大家都盲猜啊。先看你的JSON.parse 后的obj是不是undefined 再看obj.属性是不是undefined
这样吗?
![cke_122.png](https://alliance-communityfile-drcn.dbankcdn.com/FileServer/getFile/FileServer/getFile/cmtybbs/303/224/750/0070086200303224750.20240704181132.69673319622508037264582879288641:50001231000000:2800:2344B239FA510AD37F68A8B6AF3783BFF7144C7330C52952F40D54897CD0718B.png)
希望HarmonyOS能继续优化系统稳定性,减少崩溃和重启的情况。
定义嵌套接口,实际上如果你只写let arr
等于返回的数据,应该会有报错,根据提示直接操作就好了,也不难,
我现在不知道到底那步错了,还是版本问题,用鸿蒙的示例代码都能报错,
你自己应该知道都有哪些字段吧,可以声明一个interface或者class然后把 object as xxx 成你声明的类型 这样试试呢?
打印某个键值都是undefined,
给个结果看看是什么类型的,现在Object类型是所有引用类型的基类型,想要赋值取值先定义实体类
服务端返回的数据:
```json
{
"code": 1,
"msg": "success",
"success": true,
"data": {
"verif_code": "103767",
"timeout": 360
},
"service_time": "2024-07-04T15:11:14.061777902+08:00"
}
如果打印 res.result.toString()
,可以看得到,但是用 JSON.parse
转成对象,赋值给 object 类型的变量,不行,
interface IResponse<T> { code: number msg: string success: boolean data: T }
const result = JSON.parse( JSON.stringify(res.result) as string ) as IResponse<数据的类型> 这样呢,
打印 result.msg 是 undefined,获取不到什么有用的值。
对象可以说是最没用的类型提示了,因为所有的js都是对象。
我建议还是要详细描述你的数据对象,不然就用any
现在不能用any类型,
你现在有点怀疑你没处理response,你不会以为request回来的是你自己的数据对象吧?
在HarmonyOS(鸿蒙)系统中,当你遇到网络请求返回的数据既不是对象、字符串也不是数组时,这通常意味着返回的数据可能是以下几种类型之一:
-
二进制数据(Blob):网络请求可能返回的是二进制格式的数据,比如图片、音频、视频或其他非文本文件。这种类型的数据通常用于直接存储或处理二进制内容。
-
流数据(Stream):某些API或协议可能返回数据流,这种数据需要逐步读取或处理,而不是一次性加载到内存中。流数据在处理大文件或需要实时处理的数据传输时非常有用。
-
特定格式的数据:如JSON Lines(每行一个JSON对象)、CSV、XML等,这些数据格式既不是单一的JSON对象,也不是数组,但可以通过特定的解析器来处理。
-
空值或特殊标记:在某些情况下,请求可能返回空值(null)或特定的标记(如HTTP状态码),表示请求成功但无数据返回,或请求未成功但有特定的错误信息。
为了准确识别和处理这些数据,你需要检查网络请求的响应头(如Content-Type),它通常提供了关于返回数据类型的线索。此外,阅读相关的API文档或协议规范也是理解返回数据类型的重要步骤。
如果问题依旧没法解决请联系官网客服, 官网地址是 https://www.itying.com/category-93-b0.html。