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

如何用TypeScript定义满足JSON兼容等要求的类?

TypeScript 定义符合要求的类问题

这是此前相关问题的跟进,需要用TypeScript定义满足以下要求的类:

  • 兼容JSON,可被正常序列化
  • 严格实现指定的接口
  • 类的属性支持for...in遍历

示例代码

type jsonValue = string | number | jsonValue[] | JsonObject | undefined;

type JsonObject = {
  [index: string]: jsonValue;
};

interface I_Foo extends JsonObject {
  p1: string;
  p2: number;
};


class Foo implements I_Foo {
  public p1: string = '';
  public p2: number = 1;
}

const foo = new Foo();

for (const key in foo) {
  console.log(foo[key])
}

问题说明

上述代码存在两处错误,目前无法确定修复方案。补充需求:希望定义的类恰好包含指定接口的属性,既支持for...in遍历,又能正常序列化为JSON。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.19 10:22:15