HarmonyOS 鸿蒙Next JSON.parse(result).uid或.id能取到值但其他字段undefined,DevEco Studio 5.0.2 Release版本

HarmonyOS 鸿蒙Next JSON.parse(result).uid或.id能取到值但其他字段undefined,DevEco Studio 5.0.2 Release版本

let jsonRecord: Record<string,object> = JSON.parse(result) as Record<string,object>;
jsonRecord.Status取值返回undefined,所有字段都取不到值,但是jsonRecord.uid可以取到值,是为什么?

DevEco Studio 5.0.2 Release版本,import { JSON } from ‘@kit.ArkTS’;升级了ide后出现了这个问题


更多关于HarmonyOS 鸿蒙Next JSON.parse(result).uid或.id能取到值但其他字段undefined,DevEco Studio 5.0.2 Release版本的实战教程也可以访问 https://www.itying.com/category-93-b0.html

8 回复
let result = '{
    "Status":3,
    "TC":false,
    "RD":true,
    "RA":false,
    "AD":false,
    "CD":false,
    "Question":{
        "name":"test.sdk.wudong2.alidns-test.top.",
        "type":1
    },
    "Authority":[
        {
            "name":"alidns-test.top.",
            "TTL":100,
            "type":6,
            "data":"vip3.alidns.com. tangwenxu.163.com. 250119593 3600 3 604800 10800"
        }
    ],
    "uid":37
}';
let jsonRecord: Record<string,Object> = JSON.parse(result) as Record<string,Object>;
console.error("status = " + (jsonRecord.RD as boolean))

Record<string,Object> 中的 Object 中的 O 大写试一下

更多关于HarmonyOS 鸿蒙Next JSON.parse(result).uid或.id能取到值但其他字段undefined,DevEco Studio 5.0.2 Release版本的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


应该是这个问题,我也试了不行呢,`JSON.parse(result).Status` 直接这样取值 log 出来都是 undefined,
status = 5

只有uid这个参数可以,其他都不行,很奇怪

不太清楚`import { JSON } from '@kit.ArkTS'` 的 json 和 不导入直接使用的 json 实际有什么区别,我是不导入直接使用的 json,加了那个导入有时候会有问题。不然你试试把 import 去掉看看呢

我尝试把import去掉,但是现象还是一样的,没有什么变化呢,

你result是什么类型的?
JSON.stringify(result),用log打出来,这些字段都是有值的么,

针对您提到的HarmonyOS(鸿蒙)开发中在DevEco Studio 5.0.2 Release版本下,使用JSON.parse(result).uid.id能取到值但其他字段为undefined的问题,这通常表明JSON解析本身成功,但解析后的对象中部分字段未被正确填充或不存在。

可能的原因包括:

  1. JSON数据源问题:检查原始的JSON字符串result,确认是否所有期望的字段都存在且格式正确。有时字段名可能有细微的差别(如大小写、空格等)。

  2. 编码或传输问题:在数据从源头到解析点的传输过程中,可能发生了编码错误或数据截断,导致部分字段丢失。

  3. 异步数据处理:如果数据是异步获取的,可能在数据完全到达前就进行了解析,导致部分字段未定义。确保数据完整到达后再进行解析。

  4. JSON解析库限制:虽然不常见,但理论上解析库可能存在对某些特殊JSON结构的兼容性问题。检查是否有相关的库更新或已知问题。

解决步骤通常包括验证JSON数据、检查数据获取和处理逻辑,以及确保所有操作都在数据完整可用后进行。

如果问题依旧没法解决请联系官网客服,官网地址是 https://www.itying.com/category-93-b0.html

回到顶部