angularjs - JSON 文件的严格数据类型
当我从 json 获取数据时,我首先创建一个类,并为 json 中的所有变量定义严格的数据类型,就像我的 json 文件一样
{"fname":"Mark","lname":"jhony"}
所以在 Angular 中我这样创建类
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 中处理它的最佳方式是什么。
答案#1
通常你会使用接口来表示原始值的数据结构,例如:
interface ParcelItem {
itemId: number;
itemName: string;
}
interface Parcel {
parcelId: number;
parcelName: string;
parcelItems: ParcelItem[];
}
interface User {
fname: string;
lname: string;
Parcels: Parcel[];
}
根据你如何获取 JSON 并解析它,你可以指定要使用的接口。最简单的示例是:
const user = JSON.parse(userJson) as User;
如果你想使用一个类,也许是为了与数据操作相关的方法,你必须使用构造函数实例化该类。这可能看起来像这样:
const userValues = JSON.parse(userJson);
const user = new User(userValues);
答案#2
这会有效。
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[];
}
