HarmonyOS 鸿蒙Next DevEco Studio5.0不再支持JSON.parse(result).data这种方式取值 请问大伙目前怎么取值的

HarmonyOS 鸿蒙Next DevEco Studio5.0不再支持JSON.parse(result).data这种方式取值 请问大伙目前怎么取值的

DevEco Studio5.0 不再支持JSON.parse(result).data这种方式取值了请问大伙目前怎么取值的iwEcAqNwbmcDAQTRBCcFaQawJ69cJXzXHhQGetS-r9O2AQfSK7btOAgACaJpbQoAC9E3Pw.png_720x720q90.jpgiwEcAqNwbmcDAQTRBP8F0QI6BrAmEXuXuMK3NwZ61L6v07YAB9Irtu04CAAJomltCgAL0gABXus.png_720x720q90.jpg


更多关于HarmonyOS 鸿蒙Next DevEco Studio5.0不再支持JSON.parse(result).data这种方式取值 请问大伙目前怎么取值的的实战教程也可以访问 https://www.itying.com/category-93-b0.html

4 回复

我目前的方式

1、定义出interface或Class,然后as断言,要确定json类型,否则可能会崩溃

2、使用三方库[@yunkss](/user/yunkss)/eftool的JSONObject

cke_137.png

更多关于HarmonyOS 鸿蒙Next DevEco Studio5.0不再支持JSON.parse(result).data这种方式取值 请问大伙目前怎么取值的的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


再升级试试,我目前的版本,下面写法都可以。

DevEco Studio 5.0.3.404

 
[@Entry](/user/Entry)
[@Component](/user/Component)
struct Page30 {
 userJson: string = `{ "name":"张三","ohter":{"dateofBirth":"2000-01-01"}}`

 aboutToAppear(): void {
   console.info(Object(this.userJson)['ohter']['dateofBirth'])
   console.info(Object(this.userJson).ohter.dateofBirth)
   console.info(JSON.parse(`${this.userJson}`).ohter.dateofBirth)
   console.info(JSON.parse(this.userJson).ohter.dateofBirth)
 }

 build() {
   Column() {
   }
   .height('100%')
   .width('100%')
 }
}

 定义接口:

interface Person {
 name: string
 city: string
 tag: Tag
}

let result: Person = JSON.parse(data)
console.log(result.name)
console.log(result.city)

在HarmonyOS 鸿蒙Next DevEco Studio 5.0中,如果JSON.parse(result).data这种直接取值方式不再被支持,通常意味着开发者需要采用更规范或更新的方法来处理JSON数据。以下是一些常见的替代方案:

  1. 使用try-catch结构:在处理JSON时,使用try-catch结构可以捕获可能的错误,避免程序因解析错误而崩溃。

  2. 先解析为JSON对象:先将JSON字符串解析为一个完整的JSON对象,然后再通过属性访问的方式获取数据,例如:

    let jsonObject = JSON.parse(result);
    if (jsonObject && jsonObject.hasOwnProperty('data')) {
        let data = jsonObject.data;
        // 处理data
    }
    
  3. 检查JSON结构:在解析之前,可以先检查JSON字符串的结构是否符合预期,确保包含所需的数据字段。

  4. 使用第三方库:考虑使用如lodash等第三方库提供的更安全的JSON处理方法。

这些替代方案可以帮助开发者更安全、更稳定地处理JSON数据。如果问题依旧没法解决请联系官网客服,官网地址是:https://www.itying.com/category-93-b0.html

回到顶部