Typescript-如何为json对象创建嵌套接口

伊斯瓦尔

我想创造我所创建Interface.I时收到错误嵌套的JSON对象Type of property serservicesAndHeads are incompatible和说Property is missing我的界面如下:

  interface  Head {
    HeadNumber?: string;
    HeadDescription?: string;
  };

  interface  ServicesAndHead {
    majorService?: string;
    subMajorService?: string;
    servicesAndHeads:Head[];
  }

  export interface MyTableItem {
   demandNo?: string;
   demandName?: string;
   servicesAndHeads?:ServicesAndHead;
   //servicesAndHeads?:ServicesAndHead[];
  }

我的json看起来像这样:

  const dataItem: MyTableItem =
  {
    demandNo: 'Demand Number 2',
    demandName: 'Animal Husbandary, Livestock, Fisheries and Veterinary Services',
    servicesAndHeads: [
    {
      majorService: 'C-Economic Service',
      subMajorService: '(a) Agriculture and Allied Activities',
      majorHead: [
       { majorHeadNumber: '3098', majorHeadDescription: 'Animal Husbandry' },
       { majorHeadNumber: '3999', majorHeadDescription: 'Diary Development' },
       { majorHeadNumber: '4902', majorHeadDescription: 'Fisheries' }
      ]
    },
    {
      majorService: 'C- Capital Account of Economic Services',
      subMajorService: '(a) Capital Account of Agriculture and Allied Activities',
      majorHead: [
        { majorHeadNumber: '0012', majorHeadDescription: 'Capital Outlay on Animal ' },
        { majorHeadNumber: '3245', majorHeadDescription: 'Capital Outlay on Fisheries' }
      ]
     }
   ]
  }

我也尝试过为嵌套的serviceAndHead

  servicesAndHeads?: {
      [key: string]:ServicesAndHead,
      majorHeads?: {
        [key: string]:MajorHead
      };
  };

我将如何纠正我的代码以接受上述json。

迪卢里西卡·维拉沃德汉娜

定义接口如下:

interface  Head {
   majorHeadNumber?: string;
   majorHeadDescription?: string;
};

interface  ServicesAndHead {
   majorService?: string;
   subMajorService?: string;
   majorHead: Head[];
}

export interface MyTableItem {
   demandNo?: string;
   demandName?: string;
   servicesAndHeads?:ServicesAndHead[];
}

这将与您的Json对象兼容。

const dataItem: MyTableItem = {

    demandNo: 'Demand Number 2',
    demandName: 'Animal Husbandary, Livestock, Fisheries and Veterinary Services',
    servicesAndHeads: [
    {
       majorService: 'C-Economic Service',
       subMajorService: '(a) Agriculture and Allied Activities',
       majorHead: [
       { 
          majorHeadNumber: '3098', 
          majorHeadDescription: 'Animal Husbandry' 
       },
       { 
          majorHeadNumber: '3999', 
          majorHeadDescription: 'Diary Development'
       },
       { 
          majorHeadNumber: '4902', 
          majorHeadDescription: 'Fisheries'
       }]
     },
     {
       majorService: 'C- Capital Account of Economic Services',
       subMajorService: '(a) Capital Account of Agriculture and Allied Activities',
       majorHead: [
       { 
          majorHeadNumber: '0012', 
          majorHeadDescription: 'Capital Outlay on Animal '
       },
       { 
          majorHeadNumber: '3245', 
          majorHeadDescription: 'Capital Outlay on Fisheries'
       }]
     }]
    }

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

从 JSON 对象创建 typescript 接口

如何为嵌套的 JSON 对象创建接口

如何在 TypeScript 中声明和调用嵌套接口?

如何为带有Typescript的对象数组定义接口?

如何为也是对象的构造函数定义Typescript接口?

如何为 props 中传递的对象定义 TypeScript 接口?

TypeScript:如何为具有许多相同类型的键和相同类型的值的对象创建接口?

如何为 React Native 嵌套组件创建 Typescript 定义

Typescript接口并创建该接口的对象

typescript 如何创建通用接口

Typescript - 如何使用接口创建符合不同结构的新对象

如何基于TypeScript中的接口文件定义创建对象?

如何使用嵌套接口作用域TypeScript泛型类型

如何为ReactRouter的PrivateRoute添加Typescript接口?

Typescript React 如何在接口中声明 json 对象?

是否可以从TypeScript接口创建“空”对象?

从Typescript类创建JSON对象

TypeScript-如何为具有未知键的深度变化的对象映射只读接口?

TypeScript部分接口对象

如何为对象的每个字段定义接口必须是TypeScript中另一个接口的实例?

如何创建此TypeScript接口的函数实例?

特定json的Typescript接口

TypeScript:在使用接口的对象中传递嵌套函数的 ReturnType

为API返回的深层嵌套对象添加Typescript接口

React + Typescript:如何为函数动态设置通用接口?

如何为现有属性的TypeScript接口添加别名?

React + Typescript:如何为从componentDidMount填充的数组定义接口?

如何使用 TypeScript "keyof" 创建通用 API 接口的接口?

如何知道何时创建接口与直接在 Typescript 的函数签名中定义对象?