json - 如何将 JSON 对象转换为 TypeScript 类?

我从远程 REST 服务器读取了一个 JSON 对象。这个 JSON 对象具有 typescript 类的所有属性(按设计)。如何将接收到的 JSON 对象转换为类型 var?

我不想填充 typescript var(即有一个接受这个 JSON 对象的构造函数)。它很大,并且逐个子对象和逐个属性地跨子对象复制所有内容将花费大量时间。

更新:但是您可以 cast it to a typescript interface!

最佳答案

您不能简单地将来自 Ajax 请求的普通 JavaScript 结果转换为原型(prototype) JavaScript/TypeScript 类实例。有许多技术可以做到这一点,通常涉及复制数据。除非您创建类的实例,否则它不会有任何方法或属性。它将仍然是一个简单的 JavaScript 对象。

如果您只处理数据,您可以只对接口(interface)进行强制转换(因为它纯粹是一个编译时结构),这需要您使用一个使用数据实例并执行操作的 TypeScript 类数据。

复制数据的一些例子:

  1. Copying AJAX JSON object into existing Object
  2. Parse JSON String into a Particular Object Prototype in JavaScript

本质上,您只需:

var d = new MyRichObject();
d.copyInto(jsonResult);

https://stackoverflow.com/questions/22875636/

相关文章:

java - 我应该将 jackson 的 ObjectMapper 声明为静态字段吗?

javascript - 我不断收到 "Uncaught SyntaxError: Unexpect

ruby-on-rails - 如何将 ruby​​ 哈希对象转换为 JSON?

json - 安装 json gem 时出错 'mkmf.rb can' t find header

javascript - 删除 JSON 属性

javascript - 在对象数组中查找属性的最大值

ruby-on-rails - 如何使用 Ruby on Rails 解析 JSON?

javascript - JSON.stringify 的反转?

c# - 使用 Newtonsoft 将 JSON 反序列化为 .NET 对象(或者可能是 LINQ

javascript - 如何以编程方式美化 JSON?