json文件的严格数据类型

时间:2018-10-01 13:05:46

标签: angularjs json typescript

我是angularjs的新手。当我从json获取数据时,我首先创建一个类并定义在json中获取的所有变量,以获取严格的数据类型,例如json文件为

 {"fname":"Mark","lname":"jhony"}

所以在角度上,我要像这样

export class user{

 fname: string;
 lname : string;
}

我很困惑如何为以下json数据创建类

{"fname":"Mark","lname":"jhony",
 "parcels":[
   {
    "parcelId":123,
    "parcelName :"asd",
    "parcelItems:[
       { 
        "itemId":2,
        "itemName":"perfume"
       },
       { 
         "itemId":4,
         "itemName":"soap"
       }
     ]
]}

我试图在类中添加数组,但没有获得在angularjs中处理数组的最佳方法。

2 个答案:

答案 0 :(得分:2)

通常,您将使用接口来表示原始值的数据结构,例如:

' + '

根据获取JSON和解析JSON的方式,可以指定要使用的接口。最简单的例子是:

$(this).find("#place_2").val() ? ' + ' : ''

如果您想将类用于数据操作的关联方法,则必须使用构造函数实例化该类。可能看起来像:

interface ParcelItem {
  itemId: number;
  itemName: string;
}
interface Parcel {
  parcelId: number;
  parcelName: string;
  parcelItems: ParcelItem[];
}
interface User {
  fname: string;
  lname: string;
  Parcels: Parcel[];
}

答案 1 :(得分:0)

这可以。

export interface ParcelItemType {    
    itemId: number;
    itemName: string;
}

export interface ParcelType {
    parcelId: number;
    parcelName: string;
    parcelItems: ParcelItemType[];
}

export interface YourType {
   fname: string;
   lname: string;
   parcels: ParcelType[];
}