是否可以制定规范让 json 带类型信息,让 TypeScript 更加健壮?

2018-10-08 17:53:29 +08:00
 asiufasd

今天发生了这样一个错误:

//一个声明为 number 的参数

balance: number;

//后台 json 返回的是 string,但是却成功为声明为 number 类型的 balance 赋值

this.balance = result.obj.aString;

所以我想是否可以在规范方面在 json 中加入类型信息,让 TypeScript 更加健壮?

3650 次点击
所在节点    程序员
7 条回复
Septembers
2018-10-08 18:29:20 +08:00
JSON Schema 了解一下。

see https://json-schema.org/
noe132
2018-10-08 18:38:40 +08:00
DCjanus
2018-10-08 19:52:05 +08:00
GraphQL 了解一下
orzfly
2018-10-08 19:58:43 +08:00
TypeScript 的话,还是看这个吧: https://github.com/gcanti/io-ts

楼上几位也了解一下吧。
tsui
2018-10-09 00:29:55 +08:00
secondwtq
2018-10-09 00:34:20 +08:00
我厂某部门是这样做的:用 TS 的 Type Definition 来写接口 spec,transpile 到 Java 和 OC/Swift,搞成类似于一个简单的 RPC 框架的东西,一切问题都可以在 compile-time 解决
buhi
2018-10-23 14:10:43 +08:00
目前接受度最广泛的还是 json-schema 吧, 连 vscode 内置的对 tsconfig.json 和 package.json 的语法检查也是基于 json-schema 的. 另外 graphql 跟其他几个不是一类东西.

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/495680

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX