HarmonyOS鸿蒙Next中interface数据接收

HarmonyOS鸿蒙Next中interface数据接收

接口返回的数据

{
  "zs": [],
  "data": [],
  "01/averatio/0": []
}
//定义接收的数据
export interface HQResponseData {
  zs: ZSItem[]
  data: StockItem[]
  hangye: HYGNItem[]
  "01/averatio/0": HYGNItem[]
}

后台接口返回的数据有个字段为‘01/averatio/0’,但是interface如果直接用这个字段来接收会报错

如何转换一下 用‘hangye’这个字段来接收呢?


更多关于HarmonyOS鸿蒙Next中interface数据接收的实战教程也可以访问 https://www.itying.com/category-93-b0.html

3 回复

伙伴您好,使用js中的replace方法替换成后台接口中的特定字段,从而让和定义的interface字段相匹配。

export interface HQResponseData {
  zs: string[]
  data: string[]
  hangye: string[]
}

@Entry
@Component
struct DisplayPage {
  aboutToAppear(): void {
    let str = `
    {
      "zs": ["1"],
      "data": [],
      "01/averatio/0": ["111"]
    }`
    let ques: HQResponseData = {
      zs: [],
      data: [],
      hangye: []
    }
    ques = JSON.parse(str.replace('01/averatio/0', 'hangye')) as HQResponseData

    console.log('HQResponseData' + ques.hangye[0])
  }

  build() {
  }
}

更多关于HarmonyOS鸿蒙Next中interface数据接收的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


你可以定义接口返回的数据和获取数据。

//定义接收的数据
export interface HQResponseData {
  zs: ZSItem[]
  data: StockItem[]
  "01/averatio/0": HYGNItem[]
}

const testData: HQResponseData = {
  zs: [],
  data: [],
  "01/averatio/0": []
}

// 用 Reflect.get 获取数据
Reflect.get(testData, "01/averatio/0")

在HarmonyOS鸿蒙Next中,interface数据接收通常通过AbilityService实现。开发者可以使用IAbilityConnection接口来连接不同的Ability,并通过IAbilityScheduler进行数据传递。具体步骤包括:

  1. 定义接口:在ets文件中定义interface,明确数据结构和回调方法。
  2. 实现接口:在目标Ability中实现该接口,处理接收到的数据。
  3. 绑定服务:使用connectAbility方法绑定目标Ability,并通过IAbilityConnection回调获取IAbilityScheduler实例。
  4. 数据传递:通过IAbilityScheduler调用接口方法,传递数据。

这种方式确保了模块间的解耦和高效通信。

回到顶部