是否可以用类对 json 进行建模?

Posted

技术标签:

【中文标题】是否可以用类对 json 进行建模?【英文标题】:Is it possible to model a json with class? 【发布时间】:2018-11-23 20:23:20 【问题描述】:

简短的问题:是否可以使用 TS (/angular) 中的类对 json 进行建模? 示例:

我正在使用 Firebase,我有一个节点 /books,如下所示:

books
  -- 157sq561sqs1
      -- author: 'Foo'
      -- title: 'Hello world'

(这里157sq561sqs1是书的id) 它看起来:

157sq561sqs1 :  author: 'Foo', title:'Hello world'

我尝试使用以下方法对其进行建模:

export class Book  
  id: number;
  author: string;
  title: string;

但它看起来像:

书籍

  -- 0
      -- id: 157sq561sqs1
      -- author: 'Foo'
      -- title: 'Hello world'

是否可以对类似的东西进行建模以显示模型?

【问题讨论】:

就个人而言,我不会将 book 属性嵌套在 typescript 接口或类中的 id 属性下。您的持久性存储以不同的方式对其内容进行建模这一事实并不意味着您不能在 typescript 中展平对象表示。 所以你认为我应该使用我的第二个例子作为模型? (我已经使用 id 作为用户节点的父节点,因为我看到每个人都这样做,但也许我应该只为用户这样做?) 我想我也会复制节点本身的 id 所以它会像 157sq561sqs1 : id: 157sq561sqs1, author: 'Foo', title:'Hello world' 【参考方案1】:

我认为直接使用 typescript 是不可能的。你必须为此编写代码。

【讨论】:

以上是关于是否可以用类对 json 进行建模?的主要内容,如果未能解决你的问题,请参考以下文章

是否可以使用 PayPal API 连接到不同用户的帐户以用资金支付(贷记)他们?

是否有一个好地方可以捕获 Core Data 属性检索以用空字符串覆盖 nil 字符串?

建模 JSON 货币对象

可以按类对 Visual Studio Community Intellisense 建议进行排序吗?

什么是UML统一建模语言

是否可以对事件进行建模以封装在不同时间发生的多个事情