angularjs - json 文件的严格数据类型

标签 angularjs json typescript

当我从 json 获取数据时,我首先创建一个类并定义在 json 中获取的所有变量,以实现严格的数据类型,就像我的 json 文件一样

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

所以在 Angular 上我让类(class)像这样

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 中处理它的最佳方法。

最佳答案

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

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

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

const user = JSON.parse(userJson) as User;

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

const userValues = JSON.parse(userJson);
const user = new User(userValues);

关于angularjs - json 文件的严格数据类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52591847/

相关文章:

javascript - 在 angularjs wetheen 组件中编辑输入表单

javascript - AngularJs 代码组织 nuget 包

javascript - 如何使用 jQuery 更新 Json 对象?

jquery - 通过 AJAX 请求执行操作 DNN MVC

javascript - AngularJS 中是否有一致声明 $scope 变量的模式?

javascript - 我需要在 ui-grid 中显示一个字符串数组。单列,每行一个字符串

javascript - 单击加载不同的 api 内容(JS)

angular - 类型 'json' 上不存在属性 'Object'

JavaScript/TypeScript 转译器工作流程

html - Angular 8 嵌套对象插值