TypeScript JSON Decoder TypeScript JSON解码器
Typescript 的 JSON 解码器里,typescript-json-decoder是个还挺顺手的工具。思路借鉴了 elm-json-decode,把类型和解码逻辑绑得紧,省了不少心。以前写接口解析时,数据结构一变就得满项目找地方改,现在直接用record
、string
、number
这些组合一下就搞定,逻辑清楚,报错也直观。
像接口数据那种场景,后端字段不靠谱、类型对不上,一般人都头疼。用它你可以这么写:
import { decodeType, record, number, string } from 'typescript-json-decoder';
const userDecoder = record({
id: number,
name: string
});
type User = decodeType;
是不是看起来就挺干净?而且类型推导还能自动跟上,完全不用手动维护重复的定义。
,复杂点的结构也能,比如嵌套、可选字段、数组都有对应的工具。文档写得清楚,写多了你会觉得蛮自然的。如果你以前用过 io-ts 或 zod,但觉得太重或者太绕,这个库更合你胃口。
唯一要注意的就是,它更偏向“解码+类型”一体的方式,灵活性没那么高,但胜在简单直接。如果你要搞清楚它背后怎么工作的,作者还写了一篇文章内部原理,挺有意思的,可以顺手看看。
如果你经常对接不稳定的 API,可以考虑把 typescript-json-decoder 加入你的工具库里,写起来省事不少。
129.33KB
文件大小:
评论区