HarmonyOS 鸿蒙Next Arkts中object的值无法获取

发布于 1周前 作者 eggper 来自 鸿蒙OS

HarmonyOS 鸿蒙Next Arkts中object的值无法获取

export default class Response{
 code:number
 msg:string
 data:null

 constructor() {
   this.code = 0
   this.msg = ''
   this.data = null
 }
}

以上是response的class

问题:console无法打印code,msg,data 只能打印response对象

9 回复

还是怀疑你那边是json字符串,不是object。

看你的打印都带转义了。

cke_1288.png

import { plainToClassFromExist } from 'class-transformer'

class Response {
  code?: string
  msg?: string
  data?: string
}

@Entry
@Component
struct Page100 {
  build() {
    Column() {
      Button('测试').onClick(() => {
        let resultStr: string = '{ "code":500,"msg":"userAlias不能为空","data":null}'
        console.info(JSON.stringify(resultStr))
        const rp = plainToClassFromExist(new Response(), JSON.parse(resultStr))
        console.info(rp.data + '1111')
        console.info(rp.msg + '1111')
        const rp2 = plainToClassFromExist(new Response(), resultStr)
        console.info(rp2.data + '1111')
        console.info(rp2.msg + '1111')
      })
    }
    .width('100%')
    .height('100%')
  }
}

更多关于HarmonyOS 鸿蒙Next Arkts中object的值无法获取的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


可以了 就是json字符串的问题 我改成JSON.parse(data.result as string)

姓名: 张三
性别: 男
年龄: 28
地址: 北京市海淀区

data.result本身就是一个json对象了哦,

你的data是null的,试试rp.msg,

需要使用第三方class-transformer中的plainToClassFromExist方法

参考:链接

基本信息

  • 姓名: 张三
  • 年龄: 28
  • 职位: 软件工程师
  • 邮箱: zhangsan@example.com
  • 个人简介: 拥有五年软件开发经验,熟悉Java、Python和C++。

在HarmonyOS(鸿蒙)的Next ArkTS环境中,如果你遇到object(对象)的值无法获取的问题,这通常可能与对象的定义、作用域、或访问权限有关。以下是一些可能的解决思路:

  1. 检查对象定义:确保对象已被正确初始化,并且其属性在访问前已被赋值。在ArkTS中,对象的属性需要在声明时或通过构造函数进行初始化。

  2. 作用域问题:验证你是否在正确的作用域内访问对象。如果对象是在某个函数或块级作用域内定义的,它可能在该作用域外部不可见。

  3. 访问权限:检查对象的属性是否设置为可访问。在ArkTS中,如果属性被声明为私有(private),则它不能从对象外部直接访问。你需要通过公共方法(getter)来获取这些属性的值。

  4. 类型匹配:确保你访问的属性类型与你期望的类型相匹配。类型不匹配可能导致编译错误或运行时异常,从而阻止值的获取。

  5. 同步问题:如果你的对象在多线程环境中被访问,确保访问是同步的,以避免数据竞争或不一致的状态。

如果以上方法仍然无法解决问题,可能是具体的代码实现或ArkTS框架的某个特定行为导致的。此时,建议直接联系鸿蒙系统的技术支持团队或访问官方论坛寻求帮助。如果问题依旧没法解决请联系官网客服,官网地址是 https://www.itying.com/category-93-b0.html

回到顶部