You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

TypeScript中如何正确输出响应数据的internalCompanyCode与timestamp?

解决TypeScript中数组类型数据的属性访问错误

错误原因

你定义的json是数组类型,数组在TypeScript中仅支持数字类型索引(如json[0])访问元素,直接用字符串键(比如json['internalCompanyCode'])访问会触发类型错误——因为数组的索引不允许是字符串类型。

正确的字段访问方式

1. 快速直接访问

先通过数字索引获取数组中的对象元素,再逐层访问目标字段:

const json = [
  {
    "internalCompanyCode": "007",
    "moreInfo": [
      {
        "dimensions": {
          "height": 27,
          "width": 31,
          "length": 61
        },
        "currenStatus": {
          "arrived": {
            "timestamp": "10:00:12"
          }
        }
      }
    ]
  }
]

// 获取internalCompanyCode
console.log(json[0].internalCompanyCode); // 输出 "007"

// 获取timestamp
console.log(json[0].moreInfo[0].currenStatus.arrived.timestamp); // 输出 "10:00:12"

// 也可使用方括号语法(与点语法等价)
console.log(json[0]['internalCompanyCode']);
console.log(json[0]['moreInfo'][0]['currenStatus']['arrived']['timestamp']);

2. 类型化处理(TypeScript最佳实践)

为避免any类型提示,同时获得类型校验与代码提示,建议给数据定义对应接口:

// 定义数据结构的接口
interface Dimensions {
  height: number;
  width: number;
  length: number;
}

interface ArrivedStatus {
  timestamp: string;
}

interface CurrentStatus {
  arrived: ArrivedStatus;
}

interface MoreInfoItem {
  dimensions: Dimensions;
  currenStatus: CurrentStatus;
}

interface CompanyData {
  internalCompanyCode: string;
  moreInfo: MoreInfoItem[];
}

// 给json指定类型
const json: CompanyData[] = [
  {
    "internalCompanyCode": "007",
    "moreInfo": [
      {
        "dimensions": {
          "height": 27,
          "width": 31,
          "length": 61
        },
        "currenStatus": {
          "arrived": {
            "timestamp": "10:00:12"
          }
        }
      }
    ]
  }
]

// 此时访问字段会有类型提示,且不会触发any类型错误
console.log(json[0].internalCompanyCode);
console.log(json[0].moreInfo[0].currenStatus.arrived.timestamp);

补充说明

如果你的json是通过JSON.stringify得到的字符串,需要先解析为对象数组才能访问字段:

// 假设result是原始响应数据
const json: CompanyData[] = JSON.parse(JSON.stringify(result));

内容的提问来源于stack exchange,提问作者Pyyyyt

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.24 22:45:37